Fixed a bug where the wrong crossover algorithm implementations were
being used at runtime and wrote a unit test to protect against it in the
future.