From 2d765445389b93bb6e9add5aacff8f199cb361e1 Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Wed, 23 Dec 2015 14:05:41 +0100 Subject: [PATCH] Test permutation data indy distance refs #53 --- .../distancemetric/PhenotypeMetricTest.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/test/java/eva2/optimization/operator/distancemetric/PhenotypeMetricTest.java b/src/test/java/eva2/optimization/operator/distancemetric/PhenotypeMetricTest.java index 6e99a0e7..7b0f9e8e 100644 --- a/src/test/java/eva2/optimization/operator/distancemetric/PhenotypeMetricTest.java +++ b/src/test/java/eva2/optimization/operator/distancemetric/PhenotypeMetricTest.java @@ -1,9 +1,6 @@ package eva2.optimization.operator.distancemetric; -import eva2.optimization.individuals.AbstractEAIndividual; -import eva2.optimization.individuals.ESIndividualDoubleData; -import eva2.optimization.individuals.ESIndividualIntegerData; -import eva2.optimization.individuals.InterfaceDataTypeDouble; +import eva2.optimization.individuals.*; import org.junit.Before; import org.junit.Test; @@ -57,6 +54,22 @@ public class PhenotypeMetricTest { assertEquals(0.4472, metric.distance(iindy1, iindy2), 1E-4); + // PERMUTATION + ESIndividualPermutationData pindy1, pindy2; + pindy1 = mock(ESIndividualPermutationData.class); + when(pindy1.getPermutationData()).thenReturn(new int[][]{ + {0, 1, 2}, {0, 1, 2}, {0, 1, 2}, {0, 1, 2}, {0, 1, 2}, {} + }); + pindy2 = mock(ESIndividualPermutationData.class); + when(pindy2.getPermutationData()).thenReturn(new int[][]{ + {0, 1, 3}, {0, 1, 1}, {0, 0, 2}, {1, 1, 3}, {}, {1, 2, 3} + }); + + // Should be zero for distance to itself + assertEquals(0.0, metric.distance(pindy1, pindy1), 0.0); + + assertEquals(2.35, metric.distance(pindy1, pindy2), 1E-4); + } @Test