stdex/UnitTests/math.cpp
Simon Rozman 5fc35751a3 UnitTest: Switch to Assert::IsTrue for primitive datatypes
Visual Studio 2019 has issues compiling Assert::AreEqual<stdex::langid>.

Signed-off-by: Simon Rozman <simon@rozman.si>
2025-03-28 15:45:24 +01:00

41 lines
1.2 KiB
C++

/*
SPDX-License-Identifier: MIT
Copyright © 2023-2025 Amebis
*/
#include "pch.hpp"
using namespace std;
#ifdef _WIN32
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#endif
namespace UnitTests
{
void math::mul()
{
Assert::IsTrue(stdex::mul(2, 5) == 10);
Assert::IsTrue(stdex::mul(5, 2) == 10);
Assert::IsTrue(stdex::mul(0, 10) == 0);
Assert::IsTrue(stdex::mul(10, 0) == 0);
Assert::IsTrue(stdex::mul(SIZE_MAX, 0) == 0);
Assert::IsTrue(stdex::mul(0, SIZE_MAX) == 0);
Assert::IsTrue(stdex::mul(SIZE_MAX, 1) == SIZE_MAX);
Assert::IsTrue(stdex::mul(1, SIZE_MAX) == SIZE_MAX);
Assert::ExpectException<std::invalid_argument>([] { stdex::mul(SIZE_MAX, 2); });
Assert::ExpectException<std::invalid_argument>([] { stdex::mul(2, SIZE_MAX); });
}
void math::add()
{
Assert::IsTrue(stdex::add(2, 5) == 7);
Assert::IsTrue(stdex::add(5, 2) == 7);
Assert::IsTrue(stdex::add(0, 10) == 10);
Assert::IsTrue(stdex::add(10, 0) == 10);
Assert::IsTrue(stdex::add(SIZE_MAX, 0) == SIZE_MAX);
Assert::IsTrue(stdex::add(0, SIZE_MAX) == SIZE_MAX);
Assert::ExpectException<std::invalid_argument>([] { stdex::add(SIZE_MAX, 1); });
Assert::ExpectException<std::invalid_argument>([] { stdex::add(1, SIZE_MAX); });
}
}