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