public void ZeroDivisionTest() { GetConverter(out var varX, out _); var prog1 = new DivisionFunction(Constant.Zero, varX); var prog2 = Constant.Zero; var simp = prog1.Simplify(); Console.WriteLine($"{prog1}->{simp}, {prog2}"); Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}"); }
public void HashTestProgram() { var const1 = new Constant(0); var const2 = new Constant(1); var variable = new Variable("a"); var sine = new SineFunction(const2); var pow = new PowerFunction(const1, variable); var subtr = new SubtractionFunction(const2, pow); var min = new MinFunction(subtr, const1); var div = new DivisionFunction(pow, variable); var prog = new IfFunction(div, min, subtr, sine); var hashCode = prog.GetHashCode(); Console.WriteLine($"{prog}:{hashCode}"); Assert.AreNotEqual(hashCode, 0, double.Epsilon, $"Hash code of {prog} should not be 0."); }