public void PartiallyMappedCrossover2()
        {
            var p1        = new int[] { 5, 7, 6, 2, 1, 4, 0, 3 };
            var p2        = new int[] { 4, 6, 5, 0, 2, 1, 7, 3 };
            var offspring = new int[p1.Length];

            SpanExtensions.PartiallyMappedCrossover(p1, p2, 1, 7, offspring);

            offspring
            .Should().Equal(5, 7, 6, 2, 1, 4, 0, 3);
        }
        public void PartiallyMappedCrossover1()
        {
            var p1        = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            var p2        = new int[] { 9, 3, 7, 8, 2, 6, 5, 1, 4 };
            var offspring = new int[p1.Length];

            SpanExtensions.PartiallyMappedCrossover(p1, p2, 3, 4, offspring);

            offspring
            .Should().Equal(9, 3, 2, 4, 5, 6, 7, 1, 8);
        }