Files
stdex/UnitTests/math.cpp
Simon Rozman dc5aa493db
Some checks failed
Doxygen Action / build (push) Has been cancelled
Bump Copyright year
Signed-off-by: Simon Rozman <simon.rozman@amebis.si>
2026-01-05 10:17:28 +01:00

41 lines
1.2 KiB
C++

/*
SPDX-License-Identifier: MIT
Copyright © 2023-2026 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); });
}
}