diff --git a/OsmAnd-java/build.xml b/OsmAnd-java/build.xml
index 2af488526d..8e50b2386f 100644
--- a/OsmAnd-java/build.xml
+++ b/OsmAnd-java/build.xml
@@ -9,6 +9,8 @@
+
+
@@ -18,6 +20,11 @@
+
+
+
+
+
@@ -27,6 +34,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90,7 +120,7 @@
-
+
@@ -111,6 +141,9 @@
+
+
+
diff --git a/OsmAnd-java/test/java/net/osmand/router/RouteResultPreparationTest.java b/OsmAnd-java/test/java/net/osmand/router/RouteResultPreparationTest.java
new file mode 100644
index 0000000000..1428836e82
--- /dev/null
+++ b/OsmAnd-java/test/java/net/osmand/router/RouteResultPreparationTest.java
@@ -0,0 +1,151 @@
+package net.osmand.router;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import net.osmand.PlatformUtil;
+import net.osmand.binary.BinaryMapIndexReader;
+import net.osmand.data.LatLon;
+import org.apache.commons.logging.Log;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * Created by yurkiss on 04.03.16.
+ */
+
+@RunWith(Parameterized.class)
+public class RouteResultPreparationTest {
+
+ private static RoutePlannerFrontEnd fe;
+ private static RoutingContext ctx;
+
+ private String testName;
+ private LatLon startPoint;
+ private LatLon endPoint;
+ private Map expectedResults;
+
+ private Log log = PlatformUtil.getLog(RouteResultPreparationTest.class);
+
+ public RouteResultPreparationTest(String testName, LatLon startPoint, LatLon endPoint, Map expectedResults) {
+ this.testName = testName;
+ this.startPoint = startPoint;
+ this.endPoint = endPoint;
+ this.expectedResults = expectedResults;
+ }
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ String fileName = "../../../osmand/Turn_lanes_test.obf";
+ String fileName2 = "../../../osmand/World_basemap_2.obf";
+
+ File fl = new File(fileName);
+ File fl2 = new File(fileName2);
+
+ RandomAccessFile raf = new RandomAccessFile(fl, "r");
+ RandomAccessFile raf2 = new RandomAccessFile(fl2, "r");
+
+ fe = new RoutePlannerFrontEnd(false);
+ RoutingConfiguration.Builder builder = RoutingConfiguration.getDefault();
+ Map params = new LinkedHashMap();
+ params.put("car", "true");
+ params.put("short_way", "true");
+ RoutingConfiguration config = builder.build("car", RoutingConfiguration.DEFAULT_MEMORY_LIMIT * 3, params);
+ BinaryMapIndexReader[] binaryMapIndexReaders = {new BinaryMapIndexReader(raf2, fl2), new BinaryMapIndexReader(raf, fl)};
+ ctx = fe.buildRoutingContext(config, null, binaryMapIndexReaders,
+ RoutePlannerFrontEnd.RouteCalculationMode.NORMAL);
+ ctx.leftSideNavigation = false;
+ RouteResultPreparation.PRINT_TO_CONSOLE_ROUTE_INFORMATION_TO_TEST = true;
+
+ }
+
+ @Parameterized.Parameters(name = "{index}: {0}")
+ public static Collection