public void WithZero()
        {
            //---Testing two zeroes
            mulExp = new MultiplicationExp(new Number(0.0), new Number(0.0));
            dif    = new Difference(0.0, mulExp.Evaluate());
            Assert.IsTrue(dif.IsAlmostSame());

            //---Testing zero as first argument
            mulExp = new MultiplicationExp(new Number(0.0), new Number(1356.236242141241));
            dif    = new Difference(0.0, mulExp.Evaluate());
            Assert.IsTrue(dif.IsAlmostSame());


            //---Testing zero as second argument
            mulExp = new MultiplicationExp(new Number(-1.25125112), new Number(0.0));
            dif    = new Difference(0.0, mulExp.Evaluate());
            Assert.IsTrue(dif.IsAlmostSame());
        }
 public void visit(MultiplicationExp n)
 {
     throw new NotImplementedException();
 }
 public override void visit(MultiplicationExp n)
 {
     n.Scope = Scope;
     n.e1.accept(this);
     n.e2.accept(this);
 }
 public void TwoSpecialFormatNumbers()
 {
     mulExp = new MultiplicationExp(new Number(14e21), new Number(3e-15));
     dif    = new Difference(4.2e7, mulExp.Evaluate());
     Assert.IsTrue(dif.IsAlmostSame());
 }
 public void TwoSameNumbers()
 {
     mulExp = new MultiplicationExp(new Number(124.126665435654356543), new Number(124.126665435654356543));
     dif    = new Difference(15407.4290721748699306017565, mulExp.Evaluate());
     Assert.IsTrue(dif.IsAlmostSame());
 }
 public void TwoOppositeNumbers()
 {
     mulExp = new MultiplicationExp(new Number(125235.1265436), new Number(0.00000798498015372));
     dif    = new Difference(1.0, mulExp.Evaluate());
     Assert.IsTrue(dif.IsAlmostSame());
 }
 public void TwoDifferentNumbers()
 {
     mulExp = new MultiplicationExp(new Number(13553.2992), new Number(-2884.2155431));
     dif    = new Difference(-39090636.21292479552, mulExp.Evaluate());
     Assert.IsTrue(dif.IsAlmostSame());
 }
 public ASTType visit(MultiplicationExp n)
 {
     return CheckTypes(n);
 }