| 171 | } |
| 172 | |
| 173 | void calculate1() const { |
| 174 | ASSERT_EQUALS("0", MathLib::calculate("2", "1", '%')); |
| 175 | ASSERT_EQUALS("2", MathLib::calculate("12", "5", '%')); |
| 176 | ASSERT_EQUALS("1", MathLib::calculate("100", "3", '%')); |
| 177 | |
| 178 | #ifndef TEST_MATHLIB_VALUE |
| 179 | // floating point modulo is not defined in C/C++ |
| 180 | ASSERT_EQUALS("0.0", MathLib::calculate("2.0", "1.0", '%')); |
| 181 | ASSERT_EQUALS("12.0", MathLib::calculate("12.0", "13.0", '%')); |
| 182 | ASSERT_EQUALS("1.3", MathLib::calculate("5.3", "2.0", '%')); |
| 183 | ASSERT_EQUALS("1.7", MathLib::calculate("18.5", "4.2", '%')); |
| 184 | ASSERT_NO_THROW(MathLib::calculate("123", "0.0", '%')); |
| 185 | #endif |
| 186 | |
| 187 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::calculate("123", "0", '%'), INTERNAL, "Internal Error: Division by zero"); // throw |
| 188 | |
| 189 | ASSERT_EQUALS("0", MathLib::calculate("1", "1", '^')); |
| 190 | ASSERT_EQUALS("3", MathLib::calculate("2", "1", '^')); |
| 191 | } |
| 192 | |
| 193 | void typesuffix() const { |
| 194 | ASSERT_EQUALS("2", MathLib::add("1", "1")); |
nothing calls this directly
no test coverage detected