public void OperatorGreaterThan_DiffAndFitnessGreater_True() { var first = new ChromosomeStub(3.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first > second); }
public void OperatorLowerThan_FitnessLower_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first < second); }
public void OperatorDiff_Diff_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first != second); }
public void OperatorLowerThan_FitnessGreater_False() { var first = new ChromosomeStub(3.0); var second = new ChromosomeStub(2.0); Assert.IsFalse(first < second); }
public void OperatorDiff_Equals_False() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(1.0); Assert.IsFalse(first != second); }
public void GetHashCode_NoFitness_Zero() { var target = new ChromosomeStub(); target.Fitness = null; Assert.AreEqual(0, target.GetHashCode()); }
public void OperatorLowerThan_ReferenceEquals_False() { var first = new ChromosomeStub(1.0); var second = first; Assert.IsFalse(first < second); }
public void GetHashCode_Fitness_EqualsFitnessHashCode() { var target = new ChromosomeStub(); target.Fitness = 123; Assert.AreEqual(target.Fitness.GetHashCode(), target.GetHashCode()); }
public void OperatorEquals_Equals_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(1.0); Assert.IsTrue(first == second); }
public void SelectChromosomes_Generation_ChromosomesSelected() { var target = new StochasticUniversalSamplingSelection(); var c1 = new ChromosomeStub(); c1.Fitness = 0.1; var c2 = new ChromosomeStub(); c2.Fitness = 0.5; var c3 = new ChromosomeStub(); c3.Fitness = 0; var c4 = new ChromosomeStub(); c4.Fitness = 0.7; var generation = new Generation(1, new List<IChromosome>() { c1, c2, c3, c4 }); // Fitness sum: 0.1 + 0.5 + 0 + 0.7 = 1.3 // c1: 8% = 0.08 // c2: 38% = 0.46 // c3: 0% = 0.46 // c4: 54% = 1.00 var rnd = MockRepository.GenerateMock<IRandomization>(); rnd.Expect(r => r.GetDouble()).Return(0.3); RandomizationProvider.Current = rnd; // Step size 1/2 = 0.5 var actual = target.SelectChromosomes(2, generation); Assert.AreEqual(2, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.8 // Step size 1/3 = 0.33 actual = target.SelectChromosomes(3, generation); Assert.AreEqual(3, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.63 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.96 // Step size 1/4 = 0.25 actual = target.SelectChromosomes(4, generation); Assert.AreEqual(4, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.55 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.80 Assert.AreEqual(c1.Fitness, actual[3].Fitness); // 0.05 // Step size 1/5 = 0.20 actual = target.SelectChromosomes(5, generation); Assert.AreEqual(5, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.5 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.7 Assert.AreEqual(c4.Fitness, actual[3].Fitness); // 0.9 Assert.AreEqual(c2.Fitness, actual[4].Fitness); // 0.1 }
public void OperatorEquals_AnyNull_False() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(1.0); Assert.IsFalse(null == second); Assert.IsFalse(first == null); }
public void OperatorLowerThan_SecondNull_False() { var first = new ChromosomeStub(2.0); Assert.IsFalse(first < null); }
public void OperatorEquals_Diff_False() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(2.0); Assert.IsFalse(first == second); }
public void Equals_NotChromosome_False() { var target = new ChromosomeStub(); Assert.IsFalse(target.Equals(1)); }
public void OperatorEquals_Equals_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(1.0); Assert.IsTrue(first == second); }
public void GetHashCode_Fitness_EqualsFitnessHashCode() { var target = new ChromosomeStub(); target.Fitness = 123; Assert.AreEqual(target.Fitness.GetHashCode(), target.GetHashCode()); }
public void GetHashCode_NoFitness_Zero() { var target = new ChromosomeStub(); target.Fitness = null; Assert.AreEqual(0, target.GetHashCode()); }
public void OperatorEquals_AnyNull_False() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(1.0); Assert.IsFalse(null == second); Assert.IsFalse(first == null); }
public void OperatorGreaterThan_DiffAndFitnessGreater_True() { var first = new ChromosomeStub(3.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first > second); }
public void OperatorLowerThan_FirstNull_True() { var second = new ChromosomeStub(2.0); Assert.IsTrue(null < second); }
public void OperatorLowerThan_FitnessLower_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first < second); }
public void OperatorLowerThan_FitnessGreater_False() { var first = new ChromosomeStub(3.0); var second = new ChromosomeStub(2.0); Assert.IsFalse(first < second); }
public void OperatorLowerThan_ReferenceEquals_False() { var first = new ChromosomeStub(1.0); var second = first; Assert.IsFalse(first < second); }
public void OperatorDiff_Diff_True() { var first = new ChromosomeStub(1.0); var second = new ChromosomeStub(2.0); Assert.IsTrue(first != second); }
public void OperatorLowerThan_FirstNull_True() { var second = new ChromosomeStub(2.0); Assert.IsTrue(null < second); }
public void OperatorLowerThan_SecondNull_False() { var first = new ChromosomeStub(2.0); Assert.IsFalse(first < null); }
public void Equals_NotChromosome_False() { var target = new ChromosomeStub(); Assert.IsFalse(target.Equals(1)); }
public void SelectChromosomes_Generation_ChromosomesSelected() { var target = new StochasticUniversalSamplingSelection(); var c1 = new ChromosomeStub(); c1.Fitness = 0.1; var c2 = new ChromosomeStub(); c2.Fitness = 0.5; var c3 = new ChromosomeStub(); c3.Fitness = 0; var c4 = new ChromosomeStub(); c4.Fitness = 0.7; var generation = new Generation(1, new List <IChromosome>() { c1, c2, c3, c4 }); // Fitness sum: 0.1 + 0.5 + 0 + 0.7 = 1.3 // c1: 8% = 0.08 // c2: 38% = 0.46 // c3: 0% = 0.46 // c4: 54% = 1.00 var rnd = MockRepository.GenerateMock <IRandomization>(); rnd.Expect(r => r.GetDouble()).Return(0.3); RandomizationProvider.Current = rnd; // Step size 1/2 = 0.5 var actual = target.SelectChromosomes(2, generation); Assert.AreEqual(2, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.8 // Step size 1/3 = 0.33 actual = target.SelectChromosomes(3, generation); Assert.AreEqual(3, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.63 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.96 // Step size 1/4 = 0.25 actual = target.SelectChromosomes(4, generation); Assert.AreEqual(4, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.55 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.80 Assert.AreEqual(c1.Fitness, actual[3].Fitness); // 0.05 // Step size 1/5 = 0.20 actual = target.SelectChromosomes(5, generation); Assert.AreEqual(5, actual.Count); Assert.AreEqual(c2.Fitness, actual[0].Fitness); // 0.3 Assert.AreEqual(c4.Fitness, actual[1].Fitness); // 0.5 Assert.AreEqual(c4.Fitness, actual[2].Fitness); // 0.7 Assert.AreEqual(c4.Fitness, actual[3].Fitness); // 0.9 Assert.AreEqual(c2.Fitness, actual[4].Fitness); // 0.1 }