@Test(dataProvider = "longVectorData")
public void ofLongVector(final LongRange domain, final int length) {

	final Codec<long[], LongGene> codec = Codecs.ofVector(domain, length);
	final Genotype<LongGene> gt = codec.encoding().newInstance();
	assertEquals(gt.length(), 1);
	assertEquals(gt.chromosome().length(), length);
	for (LongGene gene : gt.chromosome()) {
		assertEquals(gene.min().longValue(), domain.min());
		assertEquals(gene.max().longValue(), domain.max());
	}
	final Function<Genotype<LongGene>, long[]> f = codec.decoder();
	final long[] value = f.apply(gt);
	assertEquals(value.length, length);
	for (int i = 0; i < length; ++i) {
		assertEquals(gt.get(0).get(i).longValue(), value[i]);
	}
}