From ac97eb909f14d1de6f8f926c6faa065bf40ffbcb Mon Sep 17 00:00:00 2001 From: Nikolaus Krismer <nikolaus.krismer@uibk.ac.at> Date: Tue, 26 Aug 2014 11:50:10 +0200 Subject: [PATCH] fixed tests --- .../isochrone/network/AlgorithmHelper.java | 12 ++++++ .../inf/isochrone/network/ComparisonTest.java | 41 +++++++++++-------- .../inf/isochrone/network/ExpirationTest.java | 21 +++++++--- 3 files changed, 51 insertions(+), 23 deletions(-) diff --git a/src/test/java/it/unibz/inf/isochrone/network/AlgorithmHelper.java b/src/test/java/it/unibz/inf/isochrone/network/AlgorithmHelper.java index f21df3cd..62eb2458 100644 --- a/src/test/java/it/unibz/inf/isochrone/network/AlgorithmHelper.java +++ b/src/test/java/it/unibz/inf/isochrone/network/AlgorithmHelper.java @@ -5,6 +5,9 @@ import it.unibz.inf.isochrone.config.ConfigDataset; import it.unibz.inf.isochrone.util.Query; import java.lang.reflect.InvocationTargetException; +import java.util.Collection; +import java.util.SortedSet; +import java.util.TreeSet; import org.testng.Assert; @@ -37,6 +40,15 @@ final class AlgorithmHelper { // Public static methods + public static Collection<Integer> getDistinctIds(final Collection<? extends NetworkEntity> l1) { + final SortedSet<Integer> i1 = new TreeSet<>(); + for (final NetworkEntity l : l1) { + i1.add(l.getId()); + } + + return i1; + } + public static AlgorithmResult run(final Class<? extends Isochrone> algorithmClass, final TestParameters params) { return run(algorithmClass, params, true); } diff --git a/src/test/java/it/unibz/inf/isochrone/network/ComparisonTest.java b/src/test/java/it/unibz/inf/isochrone/network/ComparisonTest.java index 862c02f3..d55494e2 100644 --- a/src/test/java/it/unibz/inf/isochrone/network/ComparisonTest.java +++ b/src/test/java/it/unibz/inf/isochrone/network/ComparisonTest.java @@ -16,7 +16,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.SortedSet; import java.util.TreeSet; import org.slf4j.Logger; @@ -75,17 +74,32 @@ public final class ComparisonTest { @Test public void testDijkstraMineX() { - runForAllDatasets(MDijkstra.class, MineX.class); + runForAllDatasets(MDijkstra.class, MineX.class, false); + } + + @Test + public void testDijkstraMineXExpiring() { + runForAllDatasets(MDijkstra.class, MineX.class, true); } @Test public void testDijkstraMrneX() { - runForAllDatasets(MDijkstra.class, MrneX.class); + runForAllDatasets(MDijkstra.class, MrneX.class, false); + } + + @Test + public void testDijkstraMrneXExpiring() { + runForAllDatasets(MDijkstra.class, MrneX.class, true); } @Test public void testMineXMrneX() { - runForAllDatasets(MineX.class, MrneX.class); + runForAllDatasets(MineX.class, MrneX.class, false); + } + + @Test + public void testMineXMrneXExpiring() { + runForAllDatasets(MineX.class, MrneX.class, true); } // Private static methods @@ -147,7 +161,7 @@ public final class ComparisonTest { } } - private static void runForAllDatasets(final Class<? extends Isochrone> clazz1, final Class<? extends Isochrone> clazz2) { + private static void runForAllDatasets(final Class<? extends Isochrone> clazz1, final Class<? extends Isochrone> clazz2, final boolean expireNodes) { final String n1 = clazz1.getSimpleName(); final String n2 = clazz2.getSimpleName(); final Set<String> datasetNames = datasets.keySet(); @@ -157,22 +171,15 @@ public final class ComparisonTest { final Collection<TestParameters> dsParams = datasets.get(dsName); for (final TestParameters params : dsParams) { LOGGER.debug(" - comparing for isochrone duration: " + params.getDuration()); - final MemoryOutput o1 = AlgorithmHelper.run(clazz1, params).getOutput(); - final MemoryOutput o2 = AlgorithmHelper.run(clazz2, params).getOutput(); - Assert.assertEquals(getIds(o1.getNodes()), getIds(o2.getNodes()), "Nodes for class \"" + n1 + "\"" + " != nodes for class \"" + n2 + "\""); - Assert.assertEquals(getIds(o1.getLinks()), getIds(o2.getLinks()), "Links for class \"" + n1 + "\"" + " != links for class \"" + n2 + "\""); + final MemoryOutput o1 = AlgorithmHelper.run(clazz1, params, expireNodes).getOutput(); + final MemoryOutput o2 = AlgorithmHelper.run(clazz2, params, expireNodes).getOutput(); + final Collection<Integer> l1 = AlgorithmHelper.getDistinctIds(o1.getLinks()); + final Collection<Integer> l2 = AlgorithmHelper.getDistinctIds(o2.getLinks()); + Assert.assertEquals(l1, l2, "Links for class \"" + n1 + "\"" + " != links for class \"" + n2 + "\""); } LOGGER.info("-----------------------------"); } } - private static Collection<Integer> getIds(final Collection<? extends NetworkEntity> l1) { - final SortedSet<Integer> i1 = new TreeSet<>(); - for (final NetworkEntity l : l1) { - i1.add(l.getId()); - } - - return i1; - } } diff --git a/src/test/java/it/unibz/inf/isochrone/network/ExpirationTest.java b/src/test/java/it/unibz/inf/isochrone/network/ExpirationTest.java index 8ae5d95e..d21771f1 100644 --- a/src/test/java/it/unibz/inf/isochrone/network/ExpirationTest.java +++ b/src/test/java/it/unibz/inf/isochrone/network/ExpirationTest.java @@ -8,6 +8,7 @@ import it.unibz.inf.isochrone.config.ConfigDataset; import it.unibz.inf.isochrone.network.AlgorithmHelper.AlgorithmResult; import java.util.Calendar; +import java.util.Collection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,12 +62,20 @@ public class ExpirationTest { final AlgorithmResult result = AlgorithmHelper.run(algorithmClass, TEST_PARAMETER, expireNodes); final long runTime = Calendar.getInstance().getTimeInMillis() - startTime; final int nrNodesMemory = result.getAlgorithm().getNodes().size(); - final int nrNodesOutput = result.getOutput().getNodes().size(); - final int nrLinksOutput = result.getOutput().getLinks().size(); - LOGGER.info(" - runtime: \"" + TEST_PARAMETER.getDuration() + "\": " + runTime + "msec"); - LOGGER.info(" - nodes (in memory): \"" + nrNodesMemory + ""); - LOGGER.info(" - nodes (in output): \"" + nrNodesOutput + ""); - LOGGER.info(" - links: \"" + nrLinksOutput + ""); + + final Collection<Node> nodes = result.getOutput().getNodes(); + final Collection<Link> links = result.getOutput().getLinks(); + final int nrNodesDistinct = AlgorithmHelper.getDistinctIds(nodes).size(); + final int nrLinksDistinct = AlgorithmHelper.getDistinctIds(links).size(); + final int nrNodes = nodes.size(); + final int nrLinks = links.size(); + + LOGGER.info(" - runtime \"" + TEST_PARAMETER.getDuration() + "\": " + runTime + "msec"); + LOGGER.info(" - nodes (in memory): " + nrNodesMemory); + LOGGER.info(" - nodes (in output): " + nrNodes); + LOGGER.info(" - nodes (in output; distinct): " + nrNodesDistinct); + LOGGER.info(" - links (in output): " + nrLinks); + LOGGER.info(" - links (in output; distinct): " + nrLinksDistinct); LOGGER.info("-----------------------------"); return nrNodesMemory; -- GitLab