@Test
public void ofMapping2() {

	final ISeq<Integer> numbers = ISeq.of(1, 2, 3, 4, 5);
	final ISeq<String> chars = ISeq.of("A", "B", "C");
	final Codec<Map<String, Integer>, EnumGene<Integer>> codec =
		Codecs.ofMapping(chars, numbers);
	final Function<Map<String, Integer>, Integer> ff = map ->
		map.values().stream().mapToInt(Integer::intValue).sum();
	Engine<EnumGene<Integer>, Integer> engine = Engine.builder(ff, codec)
		.build();
	final Map<String, Integer> best = codec.decode(
		engine.stream()
			.limit(100)
			.collect(EvolutionResult.toBestGenotype())
	);
	assertTrue(best.containsValue(3));
	assertTrue(best.containsValue(4));
	assertTrue(best.containsValue(5));
}