@Test
public void mean() {

	final long min = -Integer.MAX_VALUE;
	final long max = Integer.MAX_VALUE;
	final LongGene template = LongGene.of(min, max);
	for (int i = 1; i < 500; ++i) {
		final LongGene a = template.newInstance(i - 50L);
		final LongGene b = template.newInstance((i - 100L) *3);
		final LongGene c = a.mean(b);
		assertEquals(a.min().longValue(), min);
		assertEquals(a.max().longValue(), max);
		assertEquals(b.min().longValue(), min);
		assertEquals(b.max().longValue(), max);
		assertEquals(c.min().longValue(), min);
		assertEquals(c.max().longValue(), max);
		assertEquals(c.allele().longValue(), ((i - 50) + ((i - 100)*3))/2);
	}
}