@Test
public void mutateValidGene() {

	final var mutator = new GaussianMutator<DoubleGene, Double>() {
		public DoubleGene mutate(final DoubleGene gene, final Random random) {
			return super.mutate(gene, random);
		}
	};
	final var random = new Random() {
		@Override
		public double nextGaussian() {
			return 1;
		}
	};
	DoubleGene gene = DoubleGene.of(0.9, 0, 1);
	Assert.assertTrue(gene.isValid());
	gene = mutator.mutate(gene, random);
	Assert.assertTrue(gene.isValid());
	Assert.assertEquals(gene.doubleValue(), Math.nextDown(1.0));
}