Add tests for the simplification rules.

Change-Id: I086e18b2fcea5deb725872cf1254b6c2636a032a
This commit is contained in:
Felix Raimundo
2016-04-04 17:48:40 +02:00
parent 906363d4f6
commit 5c96e04a6a
2 changed files with 18 additions and 13 deletions

View File

@@ -3,14 +3,14 @@
#include <assert.h>
QUIZ_CASE(poincare_simplify) {
//{
// Expression * e = Expression::parse("3*0");
// Expression * e2 = e->simplify();
// assert(e2->type() == Expression::Type::Integer);
//}
//{
// Expression * e = Expression::parse("0*foo");
// Expression * e2 = e->simplify();
// assert(e2->type() == Expression::Type::Integer);
//}
{
Expression * e = Expression::parse("3*0");
Expression * e2 = e->simplify();
assert(e2->type() == Expression::Type::Integer);
}
{
Expression * e = Expression::parse("0*foo");
Expression * e2 = e->simplify();
assert(e2->type() == Expression::Type::Integer);
}
}

View File

@@ -38,11 +38,16 @@ void assert_simplifies_to(const char * input_string, const char * expected_strin
assert(simplified->isIdenticalTo(expected));
delete expected;
delete simplified;
if (simplified != input) {
delete simplified;
}
delete input;
}
QUIZ_CASE(poincare_simplify_addition_integer) {
//assert_simplifies_to("2+2", "4");
assert_simplifies_to("2*2*2*2*2*2", "6");
assert_simplifies_to("1", "1");
assert_simplifies_to("1+2", "3");
assert_simplifies_to("1+a", "1+a");
assert_simplifies_to("1+2+3+4+5+6+7", "28");
assert_simplifies_to("1+2+3+4+5+a+6+7", "28+a");
}