@Test
  public void testBiDistribution() {
    Algorithm algorithm = mock(Algorithm.class);

    MOFitness fitness01 =
        Fitnesses.create(new MinimisationFitness(3.0), new MinimisationFitness(0.0));
    final Type type01 = mock(Type.class, "type2_01");

    MOFitness fitness02 =
        Fitnesses.create(new MinimisationFitness(2.0), new MinimisationFitness(1.0));
    final Type type02 = mock(Type.class, "type2_02");

    // Cloning returns the mocked objects themselves.
    when(type01.getClone()).thenReturn(type01);
    when(type02.getClone()).thenReturn(type02);

    OptimisationSolution solution01 = new OptimisationSolution(type01, fitness01);
    OptimisationSolution solution02 = new OptimisationSolution(type02, fitness02);

    Archive archive = Archive.Provider.get();
    archive.add(solution01);
    archive.add(solution02);

    Real distribution = new SolutionDistribution().getValue(algorithm);
    Assert.assertEquals(0.0, distribution.doubleValue(), 0.0000000000001);
  }
Beispiel #2
0
 /**
  * Convenience constructor setting the vector and target.
  *
  * @param vector the new pattern's vector.
  * @param target the new pattern's target.
  */
 public StandardPattern(Vector vector, Type target) {
   this.vector = Vector.copyOf(vector);
   this.target = target.getClone();
 }
 /**
  * Constructs a new instance of {@code OptimisationSolution}.
  *
  * @param position The position of the solution within the search space of the problem.
  * @param fitness The fitness of the optimisation solution.
  */
 public OptimisationSolution(Type position, Fitness fitness) {
   this.position = position.getClone();
   this.fitness = fitness.getClone();
 }