public void GivenSortedSubsetOnePointCrossover_WhenMergeSections_ThenShouldBeProper( int[] sectionForLeft, int leftEndPosition, int[] sectionForRight, int rightStartPosition, int[] expected) { bool childAlreadyConflicted = false; var random = new PredeterminedRandom(5); var parameterSet = new ParameterSet(); var conflictDetectors = new List <INeighborhoodConflictDetector>() { AllRightConflictDetector.Instance }; var crossover = new OnePointCrossover(random, parameterSet, conflictDetectors); var result = crossover.MergeSections(sectionForLeft, leftEndPosition, sectionForRight, rightStartPosition, ref childAlreadyConflicted); result.Should().BeEquivalentTo(expected); }