コード例 #1
0
ファイル: ElementsTests.cs プロジェクト: pedrodbs/Genetica
        public void ProgramIsNotConstantTest()
        {
            var prog = new MultiplicationFunction(new Constant(3), new Variable("a"));

            Console.WriteLine(prog);
            Assert.IsFalse(prog.IsConstant(), $"{prog} should not be constant.");
        }
コード例 #2
0
        public void MultiplicationByZeroTest()
        {
            GetConverter(out var varX, out _);
            var prog1 = new MultiplicationFunction(varX, Constant.Zero);
            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}");
        }
コード例 #3
0
        public void ChainedAdditionsTest()
        {
            var converter  = GetConverter(out var varX, out _);
            var expression = "(x+x)";

            for (var i = 3; i <= 10; i++)
            {
                expression = $"({expression}+x)";
                var prog1 = converter.FromNormalNotation(expression);
                var prog2 = new MultiplicationFunction(new Constant(i), varX);
                var simp  = prog1.Simplify();
                Console.WriteLine($"{prog1}->{simp}, {prog2}");
                Assert.AreEqual(simp, prog2, $"{prog1} simplification ({simp}) should be equal to {prog2}");
            }
        }