Skip to content
Snippets Groups Projects
Commit ac97eb90 authored by User expired's avatar User expired
Browse files

fixed tests

parent 16338bf6
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
......
......@@ -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;
}
}
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment