Ejemplo n.º 1
0
        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}");
        }
Ejemplo n.º 2
0
        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.");
        }