Newer
Older
TEST_CASE( "some example calculations", "[calc]") {
REQUIRE( evaluate("11+") == 2 );
REQUIRE( evaluate("12+2-3*") == 3 );
}
TEST_CASE( "pow function works", "[calc]") {
REQUIRE( evaluate("22^") == 4 );
REQUIRE( evaluate("43^") == 64 );
TEST_CASE( "basic addition", "[calc]"){
REQUIRE( evaluate("55+") == 10);
REQUIRE( evaluate("34+") == 7);
}
TEST_CASE( "basic subtraction", "[calc]"){
REQUIRE( evaluate("55-") == 0);
REQUIRE( evaluate("83-") == 5);
}
TEST_CASE( "basic multiplication", "[calc]"){
REQUIRE( evaluate("55*") == 25);
REQUIRE( evaluate("36*") == 18);
}
TEST_CASE( "basic division", "[calc]"){
REQUIRE( evaluate("55/") == 1);
REQUIRE( evaluate("93/") == 3);
}
TEST_CASE( "Test modulo function", "[calc]") {
REQUIRE( evaluate("11%") == 0 );
REQUIRE( evaluate("32%") == 1 );
TEST_CASE( "Div by zero not allowed", "[calc]") {
REQUIRE_THROWS( evaluate("40/") );
REQUIRE_THROWS( evaluate("00/") );
REQUIRE_THROWS( evaluate("90/") );
TEST_CASE( "Basic power test", "[calc]") {
REQUIRE( evaluate("22^") == 4 );
REQUIRE( evaluate("43^") == 64 );
REQUIRE( evaluate("25^") == 32 );
TEST_CASE( "Two Operants in a row", "[calc]") {
//REQUIRE_THROWS( evaluate("11+3-+4") );
//REQUIRE_THROWS( evaluate("11/3*+4") );
}