コード例 #1
0
        public void TestGenerate()
        {
            Func<double> createConstans = new EnumerableNext<double>(new double[] { 1, 2, 3 }.Repeat()).Next;

            TestGenerate(new[] { new Variable("x"), new Variable("y") }, createConstans, 3,
                "x");

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"), OperatorsLibrary.Abs, OperatorsLibrary.Sin }, createConstans, 5,
                "abs abs sin sin y");

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"),
                OperatorsLibrary.Sum, OperatorsLibrary.Mul, OperatorsLibrary.Sin, OperatorsLibrary.Abs }, createConstans, 5,
                "sin sin abs mul x x");

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"), new Variable("z"),
                OperatorsLibrary.Pow, OperatorsLibrary.IfG }, createConstans, 6,
                "atan pow pow 1 atan atan pow z z 2");

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"), new Variable("z"),
                OperatorsLibrary.Div, OperatorsLibrary.Max }, createConstans, 4,
                    "atan div atan div y z max x x");

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"), new Variable("z"),
                OperatorsLibrary.Mod}, createConstans, 2,
                    "mod x sum abs y 0.01");
        }
コード例 #2
0
ファイル: RandomMock.cs プロジェクト: es-repo/wlpgnr
 public static Random Setup(IEnumerable<double> nextDoubles)
 {
     Mock<Random> rndMock = new Mock<Random>();
     EnumerableNext<double> loopedDoubles = new EnumerableNext<double>(nextDoubles.Repeat());
     rndMock.Setup(r => r.NextDouble()).Returns(loopedDoubles.Next);
     return rndMock.Object;
 }
コード例 #3
0
        public void TestGenerateUnBinOpBalancedTree()
        {
            Func<double> createConstans = new EnumerableNext<double>(new double[] { 1, 2, 3 }.Repeat()).Next;

            TestGenerate(new Operator[] { new Variable("x"), new Variable("y"),
                OperatorsLibrary.Sum, OperatorsLibrary.Mul, OperatorsLibrary.Sin, OperatorsLibrary.Abs }, createConstans, 5,
                "sin sum sin mul y y abs mul x x", true);
        }