MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / calculate1

Method calculate1

test/testmathlib.cpp:173–191  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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"));

Callers

nothing calls this directly

Calls 1

calculateFunction · 0.85

Tested by

no test coverage detected