/
AirLexa
/
origin
Обзор
Документация
Войти
/
AirLexa
/
origin
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
Lesson_12/Task_3/UnitTest/UnitTest.cpp
59 строк
2 KB
AirLexa
загрузка Lesson_12/Task_3/UnitTest/UnitTest.cpp
25 дек 2025, 13:32
25 дек 2025, 13:32
74aef2f
Код
Авторство
О чём код?
#include "pch.h" #include "CppUnitTest.h" #include "../extended_array.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace UnitTest { TEST_CLASS(UnitTest) { public: TEST_METHOD(TestSumInt) // тест с корректным целочисленным массивом { ExtArray<int> ea{ 1, 0, 0, 0, 1, 0, 1, 0, 0, 1 }; try { Assert::AreEqual(ea.checkSum(), 4); // если ответ 4, то тест пройден } catch (...) // если любая ошибка, то все плохо { Assert::Fail(L"Возникло исключение при корректных данных!"); } } TEST_METHOD(TestSumBool) // тест с булевым массивом { ExtArray<bool> ea{ true, false, false, true, false, true }; try { Assert::AreEqual(ea.checkSum(), 3); // если ответ 3, то тест пройден } catch (...) // если любая ошибка, то все плохо { Assert::Fail(L"Возникло исключение при корректных данных!"); } } TEST_METHOD(TestSumFailType) // некорректный тип { Assert::ExpectException<std::bad_typeid>([]() { ExtArray<float> ea{ 0.1f, 2.1f, 3.9f, 8.4f, 7.5f }; auto res = ea.checkSum(); } ); } TEST_METHOD(TestSumFailValue) // некорректное значение массива { Assert::ExpectException<std::logic_error>([]() { ExtArray<int> ea{ 1, 0, 0, 0, 1, 0, 1, 3, 0, 1 }; auto res = ea.checkSum(); } ); } }; }