/
devofthefour
/
ITPractice
Обзор
Документация
Войти
/
devofthefour
/
ITPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/integration_tests.hpp
58 строк
2 KB
devofthefour
Тесты
25 дек 2025, 10:49
25 дек 2025, 10:49
bdf8077
Код
Авторство
О чём код?
#pragma once #include <iostream> #include <vector> #include <cassert> #include "../util.hpp" void TestDiskDetection() { std::vector<DiskInfo> disks = GetDiskUsage(); // Должен быть хотя бы один диск assert(!disks.empty()); for (const auto& disk : disks) { // Проверка корректности данных assert(disk.usage >= 0 && disk.usage <= 100); assert(disk.total > 0); assert(disk.free <= disk.total); assert(!disk.name.empty()); std::wcout << L"Диск " << disk.name << L": " << disk.usage << L"% (" << FormatBytes(disk.free) << L" свободно из " << FormatBytes(disk.total) << L")" << std::endl; } } void TestHistoryBuffer() { MetricHistory history; // Симулируем работу UpdateHistory auto updateHistoryInTest = [&](double cpuValue) { history.cpu.push_back(cpuValue); if (history.cpu.size() > MAX_HISTORY) { history.cpu.pop_front(); } }; // Заполняем больше MAX_HISTORY значений for (int i = 0; i < MAX_HISTORY + 50; i++) { updateHistoryInTest(i % 100); } // Проверяем что размер равен MAX_HISTORY (не превышает!) assert(history.cpu.size() == MAX_HISTORY); // Проверяем что старые значения удаляются (первые 50 значений должны быть удалены) // После MAX_HISTORY + 50 добавлений, в буфере останутся значения с 50 по MAX_HISTORY+49 // Но так как мы берем по модулю 100, первые значения будут 50, 51, 52... double firstValue = history.cpu.front(); double expectedFirst = 50 % 100; // = 50 assert(firstValue == expectedFirst); // Проверяем последнее значение double lastValue = history.cpu.back(); double expectedLast = (MAX_HISTORY + 49) % 100; assert(lastValue == expectedLast); }