Exemplo n.º 1
0
        public void Test_Mutation_Chain_Fluent()
        {
            var flip     = new FlipMutation();
            var random   = new RandomMutation();
            var gaussian = new GaussianMutation();

            var chain = MutationChain.New(10)
                        .Add(() => flip, 0)
                        .Add(() => random, 4)
                        .Add(() => gaussian, 6);

            Assert.Equal(flip, chain.Mutations.ElementAt(0));
            Assert.Equal(random, chain.Mutations.ElementAt(1));
            Assert.Equal(gaussian, chain.Mutations.ElementAt(2));

            Assert.True(chain.Mutations.Count == 3);
        }
Exemplo n.º 2
0
        public void Test_Mutation_Chain_Build()
        {
            MutationChain chain = new MutationChain(5);

            var flip     = new FlipMutation();
            var random   = new RandomMutation();
            var gaussian = new GaussianMutation();

            var chain1 = chain.Add(() => flip, 1);
            var chain2 = chain1.Add(random);
            var chain3 = chain2.Add(() => gaussian, 4);

            Assert.DoesNotContain(flip, chain.Mutations);
            Assert.Contains(flip, chain1.Mutations);

            Assert.DoesNotContain(random, chain1.Mutations);
            Assert.Contains(random, chain2.Mutations);

            Assert.DoesNotContain(gaussian, chain2.Mutations);
            Assert.Contains(gaussian, chain3.Mutations);
        }