@Override public Codec<ISeq<double[]>, EnumGene<double[]>> codec() { return Codecs.ofPermutation(_points); }
@Override public Codec<ISeq<WayPoint>, EnumGene<WayPoint>> codec() { return Codecs.ofPermutation(_points); }
static Codec<ISeq<Integer>, EnumGene<Integer>> buildCodec(ISeq<Integer> orders) { return Codecs.ofPermutation(orders); }
) { requireNonNull(mapSupplier); return ofPermutation(target.size()) .map(perm -> toMapping(perm, source, target, mapSupplier));
@Test public void ofPermutation() { final Codec<ISeq<String>, EnumGene<String>> codec = Codecs .ofPermutation(ISeq.of("foo", "bar", "zoo")); final Genotype<EnumGene<String>> gt = codec.encoding().newInstance(); Assert.assertEquals(gt.length(), 1); final Function<Genotype<EnumGene<String>>, ISeq<String>> f = codec.decoder(); final ISeq<String> value = f.apply(gt); Assert.assertEquals(value.length(), gt.getChromosome().length()); for (int i = 0; i < value.length(); ++i) { Assert.assertEquals(value.get(i), gt.get(0, i).toString()); } }