10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
20 Assert::AreEqual<size_t>(10, stdex::mul(2, 5));
21 Assert::AreEqual<size_t>(10, stdex::mul(5, 2));
22 Assert::AreEqual<size_t>(0, stdex::mul(0, 10));
23 Assert::AreEqual<size_t>(0, stdex::mul(10, 0));
24 Assert::AreEqual<size_t>(0, stdex::mul(SIZE_MAX, 0));
25 Assert::AreEqual<size_t>(0, stdex::mul(0, SIZE_MAX));
26 Assert::AreEqual<size_t>(SIZE_MAX, stdex::mul(SIZE_MAX, 1));
27 Assert::AreEqual<size_t>(SIZE_MAX, stdex::mul(1, SIZE_MAX));
28 Assert::ExpectException<std::invalid_argument>([] { stdex::mul(SIZE_MAX, 2); });
29 Assert::ExpectException<std::invalid_argument>([] { stdex::mul(2, SIZE_MAX); });
34 Assert::AreEqual<size_t>(7, stdex::add(2, 5));
35 Assert::AreEqual<size_t>(7, stdex::add(5, 2));
36 Assert::AreEqual<size_t>(10, stdex::add(0, 10));
37 Assert::AreEqual<size_t>(10, stdex::add(10, 0));
38 Assert::AreEqual<size_t>(SIZE_MAX, stdex::add(SIZE_MAX, 0));
39 Assert::AreEqual<size_t>(SIZE_MAX, stdex::add(0, SIZE_MAX));
40 Assert::ExpectException<std::invalid_argument>([] { stdex::add(SIZE_MAX, 1); });
41 Assert::ExpectException<std::invalid_argument>([] { stdex::add(1, SIZE_MAX); });