ASSERT_NO_THROW(MathLib::divide("123", "0.0f")); // float zero
ASSERT_NO_THROW(MathLib::divide("123", "0.0")); // double zero
ASSERT_NO_THROW(MathLib::divide("123", "0.0L")); // long double zero
ASSERT_THROW_INTERNAL_EQUALS(MathLib::divide("-9223372036854775808", "-1"), INTERNAL, "Internal Error: Division overflow"); // #4520 - out of range => throw
ASSERT_THROW_INTERNAL_EQUALS(MathLib::calculate("1","2",'j'),INTERNAL, "Unexpected action 'j' in MathLib::calculate(). Please report this to Cppcheck developers.");