public void Simplify_To_Zero()
        {
            PolynomialTerm v1 = 2 * Term.a * Term.c.ToPower(3);
            PolynomialTerm v2 = -2 * Term.a * Term.c.ToPower(3);

            PolynomialTerm.Simplify(new[] { v1, v2 }).AssertIsEmpty();
        }
        public void Simplify_To_Sum()
        {
            PolynomialTerm a = 'a';
            PolynomialTerm b = 'b';
            PolynomialTerm c = 'c';

            var expected = new PolynomialTerm[] { a *b *c, a *a, b *b, a *b, a, 2 *b, 3 };
            var before   = new PolynomialTerm[] { 1, b, 2, b, a, a *b, a *b *c, a *a, b *b };

            PolynomialTerm.Simplify(before).AssertSequenceEqualsTo(expected);
        }