Make tests to go all possible combinations
This commit is contained in:
parent
6e584b4913
commit
d9e76169fe
1 changed files with 43 additions and 37 deletions
|
@ -15,13 +15,11 @@ import java.util.TreeSet;
|
||||||
|
|
||||||
import net.osmand.binary.BinaryMapIndexReader;
|
import net.osmand.binary.BinaryMapIndexReader;
|
||||||
|
|
||||||
import net.osmand.data.LatLon;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
|
||||||
|
@ -76,44 +74,52 @@ public class RouteTestingTest {
|
||||||
} else {
|
} else {
|
||||||
binaryMapIndexReaders = new BinaryMapIndexReader[]{new BinaryMapIndexReader(raf, new File(fl))};
|
binaryMapIndexReaders = new BinaryMapIndexReader[]{new BinaryMapIndexReader(raf, new File(fl))};
|
||||||
}
|
}
|
||||||
RoutingConfiguration config = builder.build(params.containsKey("vehicle") ? params.get("vehicle") : "car",
|
|
||||||
RoutingConfiguration.DEFAULT_MEMORY_LIMIT * 3, params);
|
for (int planRoadDirection = -1; planRoadDirection <= 1; planRoadDirection++) {
|
||||||
if (params.containsKey("planRoadDirection")) {
|
if (params.containsKey("onlyPlanRoadDirection")) {
|
||||||
config.planRoadDirection = Integer.parseInt(params.get("planRoadDirection"));
|
if (!params.get("onlyPlanRoadDirection").equals(planRoadDirection + "")) {
|
||||||
}
|
continue;
|
||||||
RoutingContext ctx = fe.buildRoutingContext(config, null, binaryMapIndexReaders,
|
|
||||||
RoutePlannerFrontEnd.RouteCalculationMode.NORMAL);
|
|
||||||
ctx.leftSideNavigation = false;
|
|
||||||
List<RouteSegmentResult> routeSegments = fe.searchRoute(ctx, te.getStartPoint(), te.getEndPoint(), te.getTransitPoint());
|
|
||||||
Set<Long> reachedSegments = new TreeSet<Long>();
|
|
||||||
Assert.assertNotNull(routeSegments);
|
|
||||||
int prevSegment = -1;
|
|
||||||
for (int i = 0; i <= routeSegments.size(); i++) {
|
|
||||||
if (i == routeSegments.size() || routeSegments.get(i).getTurnType() != null) {
|
|
||||||
if (prevSegment >= 0) {
|
|
||||||
String name = routeSegments.get(prevSegment).getDescription();
|
|
||||||
long segmentId = routeSegments.get(prevSegment).getObject().getId() >> (RouteResultPreparation.SHIFT_ID);
|
|
||||||
System.out.println("segmentId: " + segmentId + " description: " + name);
|
|
||||||
}
|
}
|
||||||
prevSegment = i;
|
|
||||||
}
|
}
|
||||||
if (i < routeSegments.size()) {
|
RoutingConfiguration config = builder.build(params.containsKey("vehicle") ? params.get("vehicle") : "car",
|
||||||
reachedSegments.add(routeSegments.get(i).getObject().getId() >> (RouteResultPreparation.SHIFT_ID));
|
RoutingConfiguration.DEFAULT_MEMORY_LIMIT * 3, params);
|
||||||
}
|
|
||||||
}
|
|
||||||
Map<Long, String> expectedResults = te.getExpectedResults();
|
|
||||||
Iterator<Entry<Long, String>> it = expectedResults.entrySet().iterator();
|
|
||||||
while (it.hasNext()) {
|
|
||||||
Entry<Long, String> es = it.next();
|
|
||||||
if (es.getValue().equals("false")) {
|
|
||||||
Assert.assertTrue("Expected segment " + (es.getKey()) + " was wrongly reached in route segments "
|
|
||||||
+ reachedSegments.toString(), !reachedSegments.contains(es.getKey()));
|
|
||||||
} else {
|
|
||||||
Assert.assertTrue("Expected segment " + (es.getKey()) + " weren't reached in route segments "
|
|
||||||
+ reachedSegments.toString(), reachedSegments.contains(es.getKey()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
config.planRoadDirection = planRoadDirection;
|
||||||
|
RoutingContext ctx = fe.buildRoutingContext(config, null, binaryMapIndexReaders,
|
||||||
|
RoutePlannerFrontEnd.RouteCalculationMode.NORMAL);
|
||||||
|
ctx.leftSideNavigation = false;
|
||||||
|
List<RouteSegmentResult> routeSegments = fe.searchRoute(ctx, te.getStartPoint(), te.getEndPoint(),
|
||||||
|
te.getTransitPoint());
|
||||||
|
Set<Long> reachedSegments = new TreeSet<Long>();
|
||||||
|
Assert.assertNotNull(routeSegments);
|
||||||
|
int prevSegment = -1;
|
||||||
|
for (int i = 0; i <= routeSegments.size(); i++) {
|
||||||
|
if (i == routeSegments.size() || routeSegments.get(i).getTurnType() != null) {
|
||||||
|
if (prevSegment >= 0) {
|
||||||
|
String name = routeSegments.get(prevSegment).getDescription();
|
||||||
|
long segmentId = routeSegments.get(prevSegment).getObject()
|
||||||
|
.getId() >> (RouteResultPreparation.SHIFT_ID);
|
||||||
|
System.out.println("segmentId: " + segmentId + " description: " + name);
|
||||||
|
}
|
||||||
|
prevSegment = i;
|
||||||
|
}
|
||||||
|
if (i < routeSegments.size()) {
|
||||||
|
reachedSegments.add(routeSegments.get(i).getObject().getId() >> (RouteResultPreparation.SHIFT_ID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Map<Long, String> expectedResults = te.getExpectedResults();
|
||||||
|
Iterator<Entry<Long, String>> it = expectedResults.entrySet().iterator();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
Entry<Long, String> es = it.next();
|
||||||
|
if (es.getValue().equals("false")) {
|
||||||
|
Assert.assertTrue("Expected segment " + (es.getKey()) + " was wrongly reached in route segments "
|
||||||
|
+ reachedSegments.toString(), !reachedSegments.contains(es.getKey()));
|
||||||
|
} else {
|
||||||
|
Assert.assertTrue("Expected segment " + (es.getKey()) + " weren't reached in route segments "
|
||||||
|
+ reachedSegments.toString(), reachedSegments.contains(es.getKey()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue