@Test public void concat0() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.<IntegerGene, Integer>of().stream(); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{}); }
@Test public void cycle0() { final EvolutionStream<IntegerGene, Integer> stream = CyclicEngine.<IntegerGene, Integer>of() .stream(); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{}); }
@Test public void concat1() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of(streamable(1)) .stream(); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1}); }
@Test public void concat2() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of(streamable(5)) .stream(); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3, 4, 5}); }
@Test public void concat1a() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of(streamable(1)) .stream(() -> EvolutionStreams.result(5).toEvolutionStart()); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{6}); }
@Test public void concat3() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of(streamable(5)) .stream() .limit(Limits.byFixedGeneration(3)); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3}); }
@Test public void adapt2() { final EvolutionStream<IntegerGene, Integer> stream = new AdaptiveEngine<IntegerGene, Integer>(r -> streamable(2)) .stream(); final int[] array = stream .limit(Limits.byFixedGeneration(12)) .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); }
@Test public void concat4() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of( streamable(3), streamable(4), streamable(5) ) .stream(); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); }
@Test public void cycle2() { final EvolutionStream<IntegerGene, Integer> stream = CyclicEngine.of( streamable(2), streamable(2) ) .stream(); final int[] array = stream .limit(Limits.byFixedGeneration(12)) .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}); }
@Test public void concat1b() { EvolutionInit<IntegerGene> init = EvolutionInit.of( EvolutionStreams.result(5) .toEvolutionStart() .getPopulation().stream() .map(Phenotype::getGenotype) .collect(ISeq.toISeq()), 1 ); final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of(streamable(1)) .stream(init); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{6}); }
@Test public void concat5() { final EvolutionStream<IntegerGene, Integer> stream = ConcatEngine.of( streamable(3), streamable(4), streamable(5), streamable(15), streamable(15) ) .stream() .limit(Limits.byFixedGeneration(15)); final int[] array = stream .mapToInt(r -> r.getGenotypes().get(0).getGene().intValue()) .toArray(); Assert.assertEquals(array, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}); }