/
nanezz
/
UnitHW3
Обзор
Документация
Войти
/
nanezz
/
UnitHW3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
NativeUnitTest.cpp
87 строк
3 KB
nanezz
задание3
18 фев 2026, 01:43
Верифицирован
18 фев 2026, 01:43
d9b6d7b
Код
Авторство
О чём код?
#include "pch.h" #include "CppUnitTest.h" #include "../testhw1/extended_array.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace NativeUnitTest { TEST_CLASS(ExtendedArrayTest) { public: TEST_METHOD(MeanRange_Valid) { ExtArray<int> arr = { 1, 2, 3, 4, 5, 6 }; Assert::AreEqual(3.0, arr.mean(1, 4), 0.0001); Assert::AreEqual(2.0, arr.mean(0, 3), 0.0001); Assert::AreEqual(4.5, arr.mean(2, 6), 0.0001); } TEST_METHOD(MeanRange_SingleElement) { ExtArray<double> arr = { 1.5, 2.5, 3.5 }; Assert::AreEqual(2.5, arr.mean(1, 2), 0.0001); } TEST_METHOD(MeanRange_InvalidArgs) { ExtArray<int> arr = { 10, 20, 30, 40 }; Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(3, 2); }); Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(2, 2); }); Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(1, 5); }); Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(4, 6); }); } TEST_METHOD(MeanRange_EmptyArray) { ExtArray<int> arr(0); Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(0, 0); }); Assert::ExpectException<std::invalid_argument>( [&] { arr.mean(0, 1); }); } TEST_METHOD(CheckSum_ValidBool) { ExtArray<bool> arr = { true, false, true, true, false }; Assert::AreEqual(3ULL, arr.checkSum()); } TEST_METHOD(CheckSum_ValidInt) { ExtArray<int> arr = { 1, 0, 1, 1, 0, 1 }; Assert::AreEqual(4ULL, arr.checkSum()); } TEST_METHOD(CheckSum_EmptyArray) { ExtArray<bool> arr(0); Assert::AreEqual(0ULL, arr.checkSum()); ExtArray<int> arr2(0); Assert::AreEqual(0ULL, arr2.checkSum()); } TEST_METHOD(CheckSum_IntWithInvalidValues) { ExtArray<int> arr = { 1, 0, 2, 1 }; Assert::ExpectException<std::logic_error>( [&] { arr.checkSum(); }); } TEST_METHOD(CheckSum_InvalidType) { ExtArray<double> arr = { 1.5, 2.5 }; Assert::ExpectException<std::bad_typeid>( [&] { arr.checkSum(); }); ExtArray<char> arr2 = { 'a', 'b' }; Assert::ExpectException<std::bad_typeid>( [&] { arr2.checkSum(); }); } }; }