public void BitFlipMutationTest1() { Organism organism = new Organism(); organism.Chromosomes.Add(new Chromosome(1, "0")); IRandom rand = new Deterministic(0); BitFlipMutation mutator = new BitFlipMutation(rand); mutator.Mutate(organism); Assert.AreEqual("1", organism.Chromosomes[0].ToString()); }
public void PartiallyMatchedCrossoverTest2() { Organism parent1 = new Organism(); Organism parent2 = new Organism(); parent1.Chromosomes.Add(new Chromosome(3, "001110")); parent2.Chromosomes.Add(new Chromosome(3, "110001")); IRandom rand = new Deterministic(1, 0); PartiallyMatchedCrossover linker = new PartiallyMatchedCrossover(rand, 1); var children = linker.CrossLink(parent1, parent2); Assert.AreEqual("110001", children.Item1.ToString()); Assert.AreEqual("001110", children.Item2.ToString()); }
public void OnePointCrossLinkTest2() { Organism parent1 = new Organism(); Organism parent2 = new Organism(); parent1.Chromosomes.Add(new Chromosome(1, "11")); parent2.Chromosomes.Add(new Chromosome(1, "00")); IRandom rand = new Deterministic(1, 1); OnePointCrossover crossLinker = new OnePointCrossover(rand, 0); var answer = crossLinker.CrossLink(parent1, parent2); Assert.AreEqual("11", answer.Item1.Chromosomes[0].ToString()); Assert.AreEqual("00", answer.Item2.Chromosomes[0].ToString()); }
public void BitSwapMutationTest3() { Organism organism = new Organism(); organism.Chromosomes.Add(new Chromosome(1, "01010")); IRandom rand = new Deterministic(1); BitSwapMutation mutator = new BitSwapMutation(rand); mutator.Mutate(organism); string answer = organism.Chromosomes[0].ToString(); Assert.AreEqual("00110", answer); }
public void InsertionMutationTest2() { Organism organism = new Organism(); organism.Chromosomes.Add(new Chromosome(1, "10")); IRandom rand = new Deterministic(0, 0); InsertionMutation mutator = new InsertionMutation(rand); mutator.Mutate(organism); string answer = organism.Chromosomes[0].ToString(); Assert.AreEqual("010", answer); }
public void GeneSwapTest3() { Organism organism = new Organism(); organism.Chromosomes.Add(new Chromosome(1, "0011")); IRandom rand = new Deterministic(0); GeneSwapMutation mutator = new GeneSwapMutation(rand, 2); mutator.Mutate(organism); Assert.AreEqual("1100", organism.Chromosomes[0].ToString()); }