Add one point crossover function with unit tests