mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
Add tests for the simplification rules.
Change-Id: I086e18b2fcea5deb725872cf1254b6c2636a032a
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user