From 40795eb3c06e0ea4544370e0d636f64c9be34966 Mon Sep 17 00:00:00 2001
From: Peter Stoilkov <peter_sto@mail.bg>
Date: Sun, 5 Mar 2023 11:31:27 +0200
Subject: [PATCH] MapRouteFinder -Test added

---
 .../edu/maproutefinder/business/Run.java      | 60 -------------------
 .../MapRouteFinderApplicationTests.java       | 60 ++++++++++++++++++-
 2 files changed, 59 insertions(+), 61 deletions(-)
 delete mode 100644 src/main/java/bg/academy/edu/maproutefinder/business/Run.java

diff --git a/src/main/java/bg/academy/edu/maproutefinder/business/Run.java b/src/main/java/bg/academy/edu/maproutefinder/business/Run.java
deleted file mode 100644
index 6cd00f7..0000000
--- a/src/main/java/bg/academy/edu/maproutefinder/business/Run.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package bg.academy.edu.maproutefinder.business;
-
-import bg.academy.edu.maproutefinder.data.entities.Town;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-public class Run {
-
-    public static void main(String[] args) {
-
-        MapGraph map;
-
-        RouteFinder routeFinder;
-
-        Set<Town> towns = new HashSet<>();
-        Map<String, Set<String>> connections = new HashMap<>();
-
-        towns.add(new Town("Shumen", 	43.283333f, 26.933332f));
-        towns.add(new Town("Ruse", 43.835571f, 25.965654f));
-        towns.add(new Town("Plovdiv", 42.136097f, 24.742168f));
-        towns.add(new Town("Yambol", 	42.492603f, 26.501442f));
-        towns.add(new Town("Sofia", 42.698334f, 23.319941f));
-        towns.add(new Town("Burgas", 42.510578f, 27.461014f));
-        towns.add(new Town("Varna", 43.204666f, 27.910543f));
-        towns.add(new Town("Pleven", 43.4132f, 24.6169f));
-        towns.add(new Town("Vidin", 43.9887f, 22.8741f));
-        towns.add(new Town("Montana", 43.4055f, 23.2242f));
-        towns.add(new Town("Blagoevgrad", 42.0119f, 23.0897f));
-        towns.add(new Town("Haskovo", 41.9346f, 25.5556f));
-        towns.add(new Town("Kyustendil", 42.2811f, 22.6889f));
-
-        connections.put("Shumen", Stream.of("Ruse","Varna","Yambol","Pleven").collect(Collectors.toSet()));
-        connections.put("Ruse", Stream.of("Shumen","Pleven").collect(Collectors.toSet()));
-        connections.put("Plovdiv", Stream.of("Haskovo","Sofia","Yambol").collect(Collectors.toSet()));
-        connections.put("Yambol", Stream.of("Shumen","Plovdiv", "Burgas").collect(Collectors.toSet()));
-        connections.put("Sofia", Stream.of("Blagoevgrad","Kyustendil", "Montana", "Plovdiv").collect(Collectors.toSet()));
-        connections.put("Burgas", Stream.of("Varna", "Yambol").collect(Collectors.toSet()));
-        connections.put("Varna", Stream.of("Shumen","Burgas").collect(Collectors.toSet()));
-        connections.put("Pleven", Stream.of("Ruse","Sofia", "Montana", "Shumen").collect(Collectors.toSet()));
-        connections.put("Vidin", Stream.of("Montana").collect(Collectors.toSet()));
-        connections.put("Montana", Stream.of("Vidin","Sofia", "Pleven").collect(Collectors.toSet()));
-        connections.put("Blagoevgrad", Stream.of("Kyustendil","Sofia").collect(Collectors.toSet()));
-        connections.put("Haskovo", Stream.of("Plovdiv").collect(Collectors.toSet()));
-        connections.put("Kyustendil", Stream.of("Blagoevgrad","Sofia").collect(Collectors.toSet()));
-
-        map = new MapGraph(towns, connections);
-        routeFinder = new RouteFinder(map, new HaversineDistance(), new HaversineDistance());
-
-        List<Town> route = routeFinder.findRoute(map.getTown("Sofia"), map.getTown("Varna"));
-
-        route.stream().map(Town::getName).collect(Collectors.toList()).forEach(System.out::println);
-    }
-
-}
diff --git a/src/test/java/bg/academy/edu/maproutefinder/MapRouteFinderApplicationTests.java b/src/test/java/bg/academy/edu/maproutefinder/MapRouteFinderApplicationTests.java
index c558ff5..6129b22 100644
--- a/src/test/java/bg/academy/edu/maproutefinder/MapRouteFinderApplicationTests.java
+++ b/src/test/java/bg/academy/edu/maproutefinder/MapRouteFinderApplicationTests.java
@@ -1,12 +1,70 @@
 package bg.academy.edu.maproutefinder;
 
+import bg.academy.edu.maproutefinder.business.HaversineDistance;
+import bg.academy.edu.maproutefinder.business.MapGraph;
+import bg.academy.edu.maproutefinder.business.RouteFinder;
+import bg.academy.edu.maproutefinder.data.entities.Town;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
 @SpringBootTest
 class MapRouteFinderApplicationTests {
 
+	private MapGraph map;
+
+	private RouteFinder routeFinder;
+
+	@BeforeEach
+	public void setUp() {
+		Set<Town> towns = new HashSet<>();
+		Map<String, Set<String>> connections = new HashMap<>();
+
+		towns.add(new Town("Shumen", 	43.283333f, 26.933332f));
+		towns.add(new Town("Ruse", 43.835571f, 25.965654f));
+		towns.add(new Town("Plovdiv", 42.136097f, 24.742168f));
+		towns.add(new Town("Yambol", 	42.492603f, 26.501442f));
+		towns.add(new Town("Sofia", 42.698334f, 23.319941f));
+		towns.add(new Town("Burgas", 42.510578f, 27.461014f));
+		towns.add(new Town("Varna", 43.204666f, 27.910543f));
+		towns.add(new Town("Pleven", 43.4132f, 24.6169f));
+		towns.add(new Town("Vidin", 43.9887f, 22.8741f));
+		towns.add(new Town("Montana", 43.4055f, 23.2242f));
+		towns.add(new Town("Blagoevgrad", 42.0119f, 23.0897f));
+		towns.add(new Town("Haskovo", 41.9346f, 25.5556f));
+		towns.add(new Town("Kyustendil", 42.2811f, 22.6889f));
+
+		connections.put("Shumen", Stream.of("Ruse","Varna","Yambol","Pleven").collect(Collectors.toSet()));
+		connections.put("Ruse", Stream.of("Shumen","Pleven").collect(Collectors.toSet()));
+		connections.put("Plovdiv", Stream.of("Haskovo","Sofia","Yambol").collect(Collectors.toSet()));
+		connections.put("Yambol", Stream.of("Shumen","Plovdiv", "Burgas").collect(Collectors.toSet()));
+		connections.put("Sofia", Stream.of("Blagoevgrad","Kyustendil", "Montana", "Plovdiv").collect(Collectors.toSet()));
+		connections.put("Burgas", Stream.of("Varna", "Yambol").collect(Collectors.toSet()));
+		connections.put("Varna", Stream.of("Shumen","Burgas").collect(Collectors.toSet()));
+		connections.put("Pleven", Stream.of("Ruse","Sofia", "Montana", "Shumen").collect(Collectors.toSet()));
+		connections.put("Vidin", Stream.of("Montana").collect(Collectors.toSet()));
+		connections.put("Montana", Stream.of("Vidin","Sofia", "Pleven").collect(Collectors.toSet()));
+		connections.put("Blagoevgrad", Stream.of("Kyustendil","Sofia").collect(Collectors.toSet()));
+		connections.put("Haskovo", Stream.of("Plovdiv").collect(Collectors.toSet()));
+		connections.put("Kyustendil", Stream.of("Blagoevgrad","Sofia").collect(Collectors.toSet()));
+
+		map = new MapGraph(towns, connections);
+		routeFinder = new RouteFinder(map, new HaversineDistance(), new HaversineDistance());
+	}
+
 	@Test
-	void contextLoads() {}
+	void findRoute() {
+		List<Town> route = routeFinder.findRoute(map.getTown("Sofia"), map.getTown("Varna"));
+
+		route.stream().map(Town::getName).collect(Collectors.toList()).forEach(System.out::println);
+	}
 
 }
-- 
GitLab