Пример #1
0
        public void ItHasAValidConstructor()
        {
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration());
            parentSelection.GetParents();
        }
Пример #2
0
        public void ItConstructsProperlyIfAllFitnessScoresAreAboveOrEqualToZero()
        {
            var genome          = GATestHelper.GetTravelingSalesmanPopulation();
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(genome, GATestHelper.GetTravelingSalesmanDefaultConfiguration());
        }
Пример #3
0
        public void ItFailsIfANegativeFitnessScoreIsPassed()
        {
            var genome = GATestHelper.GetTravelingSalesmanPopulation();

            genome[0].FitnessScore = -1;
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(genome, GATestHelper.GetTravelingSalesmanDefaultConfiguration());
        }
Пример #4
0
        public void ItCanGetAValidParent()
        {
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration());

            var parent = parentSelection.GetParent(0.22);

            Assert.IsNotNull(parent);
        }
Пример #5
0
        public void ItCanSetupRankSelection()
        {
            _config.ParentSelectionStrategy = ParentSelectionStrategy.Rank;
            var rankings = GetRankingsForStep(1);

            ItSetsUpTheRankingsInOrder(rankings);

            _rankSelection.Setup(GetZeroesAndOnesChromosomes(), _config);
            ItSetsUpTheRankingsInOrder(_rankSelection.Rankings);
        }
Пример #6
0
        public void ItCantReturnTheSameParentTwice()
        {
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration());

            for (int i = 0; i < 1000; i++)
            {
                var parent = parentSelection.GetParents();
                Assert.IsFalse(ReferenceEquals(parent.Father, parent.Mother));
            }
        }
Пример #7
0
        public void ItCanReturnParents()
        {
            var parentSelection = new RouletteWheelSelection();

            parentSelection.Setup(_pool, GATestHelper.GetTravelingSalesmanDefaultConfiguration());

            var parent = parentSelection.GetParents();

            Assert.IsNotNull(parent);
            Assert.IsNotNull(parent.Father);
            Assert.IsNotNull(parent.Mother);
        }