diff --git a/src/main/java/de/hs_mannheim/domain/System.java b/src/main/java/de/hs_mannheim/domain/System.java index 3b47d0f..ca38761 100644 --- a/src/main/java/de/hs_mannheim/domain/System.java +++ b/src/main/java/de/hs_mannheim/domain/System.java @@ -20,6 +20,7 @@ public class System { private User current_user = new User(); private String api_key; + private ArrayList distances = new ArrayList<>(); public System(String api_key) { this.api_key = api_key; @@ -54,7 +55,9 @@ public class System { return true; } - public void sign_out_user(){} + public void sign_out_user(){ + this.distances = new ArrayList<>(); + } public boolean change_user_details(String username, String password, String hometown, int zip, String car_name, double car_co2_km, double car_avg_kmh, double bike_avg_kmh){ @@ -82,42 +85,37 @@ public class System { public ArrayList random_destinations_car(){ - ArrayList result = new ArrayList<>(); - - InputStream inputStream = Main.class.getResourceAsStream("/zip.csv"); + calc_all_distances(); - try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { - String line; - while ((line = reader.readLine()) != null && result.size()<3) { - - line = line.replace("\"", ""); - - if(Double.parseDouble(distance(line.split(";")[0]).replace(" km", "")) > 150) - result.add(line); - - } - } catch (Exception e) {} + ArrayList mem = new ArrayList<>(); + ArrayList result = new ArrayList<>(); + + for(int i = 0; i150) + mem.add(this.distances.get(i)); + } + for(int i = 0; i<3; i++) + result.add(mem.get((int) (Math.random()*mem.size()))); + return result; } public ArrayList random_destinations_bike(){ - ArrayList result = new ArrayList<>(); - InputStream inputStream = Main.class.getResourceAsStream("/zip.csv"); + calc_all_distances(); - try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { - String line; - while ((line = reader.readLine()) != null && result.size()<3) { - - line = line.replace("\"", ""); - - if(Double.parseDouble(distance(line.split(";")[0]).replace(" km", "")) < 100) - result.add(line); - - } - } catch (Exception e) {} + ArrayList mem = new ArrayList<>(); + ArrayList result = new ArrayList<>(); + + for(int i = 0; i list = current_system.search("Mannheim"); assertEquals("68159", list.get(0).split(";")[0]); @@ -42,8 +38,6 @@ public class SystemTest { @Test public void distance(){ - System current_system = new System("35a75437476f12302f72e55d368485db"); - current_system.set_current_user_zip("68161"); assertEquals("88.46 km", current_system.distance("60306")); // Frankfurt @@ -55,8 +49,6 @@ public class SystemTest { @Test public void travel_time(){ - System current_system = new System("35a75437476f12302f72e55d368485db"); - current_system.set_current_user_zip("68161"); current_system.set_current_user_car_avg_kmh(100); current_system.set_current_user_bike_avg_kmh(20); @@ -71,8 +63,6 @@ public class SystemTest { @Test public void calc_l_consumption(){ - System current_system = new System("35a75437476f12302f72e55d368485db"); - current_system.set_current_user_zip("68161"); current_system.set_current_user_car_avg_kmh(100); current_system.set_current_user_car_l_100km(10); @@ -85,8 +75,6 @@ public class SystemTest { @Test public void random_destinations(){ - System current_system = new System("35a75437476f12302f72e55d368485db"); - current_system.set_current_user_zip("68161"); assertEquals(3, current_system.random_destinations_car().size()); // random_destinations_car gibt genau 3 destinations zurück