Esempio n. 1
0
        public List <IChromosome> SwapTwoRange()
        {
            var conflictDetectors = new List <IConflictDetector>()
            {
                AllRightConflictDetector.Instance
            };
            var mutation = new SwapTwoRangeMutation(Random, ParameterSet, conflictDetectors);

            return(MutateChromosomes(mutation));
        }
Esempio n. 2
0
        public void SwapTwoRangeMutation_Mutate_ReturnMutated()
        {
            var random       = new PredeterminedRandom(new double[] { 5, 3, 2, 2 });
            var parameterSet = new ParameterSet();
            var chromosome   = PermutationTestData.CreateTestChromosome1(); //{ 7, 2, 8, 4, 1, 6, 3, 5, 9, 0 }
            var mutation     = new SwapTwoRangeMutation(random, parameterSet, null);

            var result   = mutation.Mutate(chromosome);
            var expected = new int[] { 7, 2, 6, 3, 5, 1, 8, 4, 9, 0 };

            result.Genes.Should().BeEquivalentTo(expected);
        }