// // biginteger_test.cpp // bigdecimal // // Created by Sam Jaffe on 5/18/18. // #include #include "biginteger.h" TEST(BigIntegerTest, ModuloZeroThrows) { math::biginteger bi{1000}; EXPECT_THROW(bi%0, std::domain_error); } TEST(BigIntegerTest, ModuloBiggerIsSameValue) { math::biginteger bi{1000}; EXPECT_THAT(bi%2000, bi); } TEST(BigIntegerTest, ModuloSameNumberIsZero) { math::biginteger bi{1000}; EXPECT_THAT(bi%1000, 0); } TEST(BigIntegerTest, ModuloDivisorIsZero) { math::biginteger bi{1000}; EXPECT_THAT(bi%100, 0); } TEST(BigIntegerTest, ModuloDiffSignIsInverseElement) { math::biginteger bi{1000}; math::biginteger mod{13}; EXPECT_THAT((bi%mod)+((-bi)%mod), mod); } TEST(BigIntegerTest, ModuloNegativesIsNegative) { math::biginteger bi{1000}; math::biginteger mod{13}; EXPECT_THAT((bi%mod), -((-bi)%(-mod))); }