public void ItHasAValidConstructor() { var parentSelection = new StochasticUniversalSamplingSelection(); parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration()); parentSelection.GetParents(); }
public void ItsConstructorsCanSetTheStrategies() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); var settings = new GAConfiguration(task); Assert.IsTrue(settings.IsValid()); }
public void ItThrowsAnErrorIfOutOfRange() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new InsertMutation(); mutation.Shift(chromosome, -1, 4); }
public void ItHasAValidConstructor() { var parentSelection = new RouletteWheelSelection(); parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration()); parentSelection.GetParents(); }
public void ItCanDetermineIfObjectsAreEqualByContentOfGenes() { var one = GATestHelper.GetAlphabetCharacterChromosome(); var two = GATestHelper.GetAlphabetCharacterChromosome(); Assert.AreEqual(one, two); }
public void ItConstructsProperlyIfAllFitnessScoresAreAboveOrEqualToZero() { var genome = GATestHelper.GetTravelingSalesmanPopulation(); var parentSelection = new RouletteWheelSelection(); parentSelection.Setup(genome, GATestHelper.GetTravelingSalesmanDefaultConfiguration()); }
public void ItErrorsIfEndIsSameAsStart() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new ScrambleMutation(); mutation.Scramble(chromosome, 2, 2, GATestHelper.GetTravelingSalesmanDefaultConfiguration()); }
public void ItErrorsIfTheIndexesAreOutOfRange() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new InversionMutation(); mutation.Inverse(chromosome, -1, 1); }
public void ItAllowsAValidParentSelectionType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.ParentSelectionStrategy = ParentSelectionStrategy.RouletteWheel; var settings = new GAConfiguration(task); }
public void ItHasAValidConstructor() { var population = new OrderedPopulation(GATestHelper.GetTravelingSalesmanDefaultConfiguration(), _pool, _possibleValues); Assert.IsNotNull(population.Configuration); Assert.IsNotNull(population.Chromosomes); }
public void ItAllowsAValidImmigrationType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.ImmigrationStrategy = ImmigrationStrategy.Constant; var settings = new GAConfiguration(task); }
public void ItAllowsAValidMutationType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.MutationStrategy = MutationStrategy.Boundary; var settings = new GAConfiguration(task); }
public void ItThrowsAnExceptionIfCrossoverRateIsAboveOne() { var config = GATestHelper.GetTravelingSalesmanDefaultConfiguration(); config.CrossoverRate = 1.01; config.ValidateProperties(); }
public void ItThrowsAnExceptionIfElitismRateIsBelowZero() { var config = GATestHelper.GetTravelingSalesmanDefaultConfiguration(); config.ElitismRate = -0.01; config.ValidateProperties(); }
public void ItAllowsAValidCrossoverType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.CrossoverStrategy = CrossoverStrategy.AlternatingPosition; var settings = new GAConfiguration(task); }
public void ItDoesNotAllowsAnInvalidCrossoverType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.CrossoverStrategy = 0; var settings = new GAConfiguration(task); }
public void ItErrorsIfTheIndexesAreOutOfRange() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new ScrambleMutation(); mutation.Scramble(chromosome, -1, 1, GATestHelper.GetTravelingSalesmanDefaultConfiguration()); }
public void ItsConstructorDeterminesTheGeneSize() { var random = GATestHelper.GetRandomInteger(1, 255); var doubleChromo = new OrderedChromosome(random); Assert.AreEqual(random, doubleChromo.Genes.Length); }
public void ItDoesNotAllowsAnInvalidParentSelectionType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.ParentSelectionStrategy = 0; var settings = new GAConfiguration(task); }
public void ItAllowsAValidRetirementType() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.RetirementStrategy = RetirementStrategy.MaxChildren; var settings = new GAConfiguration(task); }
public void ItThrowsAnExceptionIfOutOfRange() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new SwapMutation(); mutation.FlipGenes(chromosome, -1, 2); }
public void ItAllowsRetirementTypeMaxChildrenWhenRetirementMaximumIsAboveOne() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.RetirementStrategy = RetirementStrategy.MaxChildren; task.MaxRetirement = 2; var settings = new GAConfiguration(task); }
public void ItCanFlipGenes() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new SwapMutation(); mutation.FlipGenes(chromosome, 1, 2); Assert.AreEqual("A,C,B,D,E,F,G,H,I,J", chromosome.ToString()); }
public void ItAllowsRetirementTypeNoneWhenRetirementMaximumIsBelowZero() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.RetirementStrategy = RetirementStrategy.None; task.MaxRetirement = 1; var settings = new GAConfiguration(task); }
public void ItCanAdvanceToTheNextGeneration() { var population = new OrderedPopulation(GATestHelper.GetTravelingSalesmanDefaultConfiguration(), _pool, _possibleValues); var nextGen = population.Advance(); Assert.AreEqual(0, population.GenerationNumber); Assert.AreEqual(1, nextGen.GenerationNumber); }
public void ItThrowsAnExceptionIfRetirementTypeMaxChildrenWhenRetirementMaximumIsBelowZero() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); task.RetirementStrategy = RetirementStrategy.MaxChildren; task.MaxRetirement = 0; var settings = new GAConfiguration(task); }
public void ItCanDetermineIfTheChromosomeShouldRetireBasedOnAge() { var chromosome = GATestHelper.GetTravelingSalesmanChromosome(); chromosome.Age = 100; Assert.IsTrue(chromosome.ShouldRetire(GATestHelper.GetTravelingSalesmanDefaultConfiguration())); }
public void ItCanGenerateAGenome() { var configuration = GATestHelper.GetTravelingSalesmanDefaultConfiguration(); var chromosome = GATestHelper.GetTravelingSalesmanChromosome(); var pool = PopulationGenerator.GenerateOrderedPopulation(configuration, chromosome.Genes); Assert.AreEqual(configuration.PopulationSize, pool.Length); }
public void ItCanCopyObjects() { var task = GATestHelper.GetDummyTravelingSalesmanTask(); var config = new GAConfiguration(task); Assert.AreEqual(task.MutationStrategy, config.MutationStrategy); Assert.AreEqual(task.CrossoverStrategy, config.CrossoverStrategy); Assert.AreEqual(task.ParentSelectionStrategy, config.ParentSelectionStrategy); }
public void ItCanShift() { var chromosome = GATestHelper.GetAlphabetCharacterChromosome(); var mutation = new InsertMutation(); mutation.Shift(chromosome, 1, 4); Assert.AreEqual("A,E,B,C,D,F,G,H,I,J", chromosome.ToString()); }