Merge branch 'random_destinations_fix'
commit
f17f4d1a1c
|
@ -20,6 +20,7 @@ public class System {
|
|||
|
||||
private User current_user = new User();
|
||||
private String api_key;
|
||||
private ArrayList<String> 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<String> random_destinations_car(){
|
||||
|
||||
ArrayList<String> 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<String> mem = new ArrayList<>();
|
||||
ArrayList<String> result = new ArrayList<>();
|
||||
|
||||
for(int i = 0; i<this.distances.size(); i++){
|
||||
if(Double.parseDouble(this.distances.get(i).split(";")[2])>150)
|
||||
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<String> random_destinations_bike(){
|
||||
ArrayList<String> 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<String> mem = new ArrayList<>();
|
||||
ArrayList<String> result = new ArrayList<>();
|
||||
|
||||
for(int i = 0; i<this.distances.size(); i++){
|
||||
if(Double.parseDouble(this.distances.get(i).split(";")[2])<100)
|
||||
mem.add(this.distances.get(i));
|
||||
}
|
||||
|
||||
for(int i = 0; i<3; i++)
|
||||
result.add(mem.get((int) (Math.random()*mem.size())));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -298,6 +296,25 @@ public class System {
|
|||
|
||||
}
|
||||
|
||||
public void calc_all_distances(){
|
||||
|
||||
if(!this.distances.isEmpty())
|
||||
return;
|
||||
|
||||
InputStream inputStream = Main.class.getResourceAsStream("/zip.csv");
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
|
||||
line = line.replace("\"", "");
|
||||
|
||||
this.distances.add(line.split(";")[0] + ";" + line.split(";")[1] + ";" + Double.parseDouble(distance(line.split(";")[0]).replace(" km", "")));
|
||||
|
||||
}
|
||||
} catch (Exception e) {}
|
||||
}
|
||||
|
||||
public String[] travel_time(String destination_zip){
|
||||
|
||||
String[] result = new String[2];
|
||||
|
|
|
@ -9,19 +9,17 @@ import org.junit.jupiter.api.Test;
|
|||
|
||||
public class SystemTest {
|
||||
|
||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
||||
|
||||
@Test
|
||||
public void weather_forecast(){
|
||||
|
||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
||||
|
||||
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.weather_forecast("68161"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void current_weather(){
|
||||
|
||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
||||
|
||||
current_system.set_current_user_zip("68161");
|
||||
|
||||
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.current_weather());
|
||||
|
@ -30,8 +28,6 @@ public class SystemTest {
|
|||
@Test
|
||||
public void search(){
|
||||
|
||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
||||
|
||||
ArrayList<String> 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
|
||||
|
|
Loading…
Reference in New Issue