/
devofthefour
/
ITPractice
Обзор
Документация
Войти
/
devofthefour
/
ITPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/unit_tests.hpp
57 строк
2 KB
devofthefour
Скорректировал название файла тестов
25 дек 2025, 11:38
25 дек 2025, 11:38
557314c
Код
Авторство
О чём код?
#pragma once #include <cassert> #include <windows.h> #include <vector> #include <string> #include "../util.hpp" void TestFormatBytes() { struct TestCase { DWORDLONG bytes; std::wstring expected; }; std::vector<TestCase> testCases = { {1024, L"1.0 КБ"}, {1024 * 1024, L"1.0 МБ"}, {1024 * 1024 * 1024, L"1.0 ГБ"}, {500, L"500.0 Б"}, {1500, L"1.5 КБ"} }; for (const auto& tc : testCases) { std::wstring result = FormatBytes(tc.bytes); assert(result.find(tc.expected.substr(0, 3)) != std::wstring::npos); } } void TestCpuCalculation() { // Тест расчета процента CPU ULARGE_INTEGER idle1 = {100, 0}; ULARGE_INTEGER kernel1 = {500, 0}; ULARGE_INTEGER user1 = {500, 0}; ULARGE_INTEGER idle2 = {200, 0}; ULARGE_INTEGER kernel2 = {1000, 0}; ULARGE_INTEGER user2 = {1000, 0}; // Симулируем расчет ULONGLONG sys = (kernel2.QuadPart - kernel1.QuadPart) + (user2.QuadPart - user1.QuadPart); ULONGLONG idleDiff = idle2.QuadPart - idle1.QuadPart; double cpuUsage = 100.0 * (sys - idleDiff) / sys; assert(cpuUsage >= 0 && cpuUsage <= 100); } void TestMemoryCalculation() { MEMORYSTATUSEX memStatus; memStatus.dwLength = sizeof(memStatus); // Тест что структура правильно заполняется BOOL result = GlobalMemoryStatusEx(&memStatus); assert(result == TRUE); assert(memStatus.ullTotalPhys > 0); assert(memStatus.ullAvailPhys <= memStatus.ullTotalPhys); }