public void Crossover(string stringA, string stringB, ISeq <int> points, string expectedA, string expectedB) { var a = CharSeq.ToImmutableSeq(stringA); var b = CharSeq.ToImmutableSeq(stringB); var ma = a.Copy(); var mb = b.Copy(); var intPoints = points.Select(i => i).ToArray(); MultiPointCrossover.Crossover(ma, mb, intPoints); Assert.Equal(ToString(ma), expectedA); Assert.Equal(ToString(mb), expectedB); }