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); }
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); }