Exemplo n.º 1
0
  @Test
  // tests concatenation and ordering of given Populations, limited by maxIndexExclusive
  public void testConcatenate2() throws Exception {
    SimpleIndividual[] ind1 =
        new SimpleIndividual[] {
          new SimpleIndividual(1, 1.0, null),
          new SimpleIndividual(2, 3.0, null),
          new SimpleIndividual(5, 3.0, null)
        };
    SimpleIndividual[] ind2 =
        new SimpleIndividual[] {
          new SimpleIndividual(10, 0.0, null), new SimpleIndividual(2, 2.0, null)
        };

    Individual[] indOut =
        PopulationUtils.concatenate(
                new Population[] {
                  new SimplePopulation(ind1), new SimplePopulation(ind2), new SimplePopulation(ind1)
                },
                new SimplePopulationFactory(),
                2)
            .getIndividuals();

    assertTrue(indOut[0] == ind1[0]);
    assertTrue(indOut[1] == ind1[1]);
    assertTrue(indOut[2] == ind1[2]);
    assertTrue(indOut[3] == ind2[0]);
    assertTrue(indOut[4] == ind2[1]);
    assertTrue(indOut.length == ind1.length + ind2.length);
  }
Exemplo n.º 2
0
  @Test
  // tests concatenation of single EMPTY Population
  public void testConcatenate4() throws Exception {
    SimplePopulation pop1 = new SimplePopulation();

    Individual[] indOut =
        PopulationUtils.concatenate(new Population[] {pop1}, new SimplePopulationFactory())
            .getIndividuals();

    assertTrue(pop1.getIndividuals() == indOut || indOut.length == 0);
  }
Exemplo n.º 3
0
  @Test
  // tests concatenation of single Population - creation of new array of Individual
  public void testConcatenate3() throws Exception {
    SimpleIndividual[] ind1 =
        new SimpleIndividual[] {
          new SimpleIndividual(1, 1.0, null),
          new SimpleIndividual(2, 3.0, null),
          new SimpleIndividual(5, 3.0, null)
        };
    SimplePopulation pop1 = new SimplePopulation(ind1);

    Individual[] indOut =
        PopulationUtils.concatenate(new Population[] {pop1}, new SimplePopulationFactory())
            .getIndividuals();

    assertTrue(indOut[0] == ind1[0]);
    assertTrue(indOut[1] == ind1[1]);
    assertTrue(indOut[2] == ind1[2]);
    assertNotSame(pop1.getIndividuals(), indOut);
    assertNotSame(ind1, indOut);
    assertTrue(indOut.length == ind1.length);
  }