Files
Upsilon/poincare/test/simplify_product.cpp
Émilie Feral 69e46f4958 [poincare] Namespace Poincare
Change-Id: I51a84fa7978ba16f128cfe1d32c390970f2037e8
2017-02-13 17:15:06 +01:00

35 lines
1023 B
C++

#include <assert.h>
#include <quiz.h>
#include "simplify_utils.h"
using namespace Poincare;
QUIZ_CASE(poincare_simplify_product_by_zero) {
assert(simplifies_to("3*0", "0"));
assert(simplifies_to("A*0", "0"));
assert(simplifies_to("0*3", "0"));
assert(simplifies_to("0*A", "0"));
assert(simplifies_to("3*5", "15"));
assert(simplifies_to("8*6", "48"));
assert(simplifies_to("3*(5+4)", "27"));
}
QUIZ_CASE(poincare_simplify_distributive_reverse) {
assert(equivalent_to("x+x", "2*x"));
assert(equivalent_to("2*x+x", "3*x"));
assert(equivalent_to("x*2+x", "3*x"));
assert(equivalent_to("2*x+2*x", "4*x"));
assert(equivalent_to("x*2+2*t", "2*(x+t)"));
assert(equivalent_to("x+x+t+t", "2*x+2*t"));
assert(equivalent_to("2*x+2*t", "2*(x+t)"));
//assert(equivalent_to("x+x+t+t", "2*(x+t)"));
assert(equivalent_to("x-x-t+t", "0)"));
assert(equivalent_to("x+t-x-t", "0"));
assert(equivalent_to("x+x*t", "x*(t+1)"));
assert(equivalent_to("x-x", "0"));
assert(equivalent_to("x-x", "0"));
}