Merge branch 'random_destinations_fix'
commit
f17f4d1a1c
|
@ -20,6 +20,7 @@ public class System {
|
||||||
|
|
||||||
private User current_user = new User();
|
private User current_user = new User();
|
||||||
private String api_key;
|
private String api_key;
|
||||||
|
private ArrayList<String> distances = new ArrayList<>();
|
||||||
|
|
||||||
public System(String api_key) {
|
public System(String api_key) {
|
||||||
this.api_key = api_key;
|
this.api_key = api_key;
|
||||||
|
@ -54,7 +55,9 @@ public class System {
|
||||||
return true;
|
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,
|
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){
|
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(){
|
public ArrayList<String> random_destinations_car(){
|
||||||
|
|
||||||
ArrayList<String> result = new ArrayList<>();
|
calc_all_distances();
|
||||||
|
|
||||||
InputStream inputStream = Main.class.getResourceAsStream("/zip.csv");
|
|
||||||
|
|
||||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
|
ArrayList<String> mem = new ArrayList<>();
|
||||||
String line;
|
ArrayList<String> result = new ArrayList<>();
|
||||||
while ((line = reader.readLine()) != null && result.size()<3) {
|
|
||||||
|
for(int i = 0; i<this.distances.size(); i++){
|
||||||
line = line.replace("\"", "");
|
if(Double.parseDouble(this.distances.get(i).split(";")[2])>150)
|
||||||
|
mem.add(this.distances.get(i));
|
||||||
if(Double.parseDouble(distance(line.split(";")[0]).replace(" km", "")) > 150)
|
}
|
||||||
result.add(line);
|
|
||||||
|
|
||||||
}
|
|
||||||
} catch (Exception e) {}
|
|
||||||
|
|
||||||
|
for(int i = 0; i<3; i++)
|
||||||
|
result.add(mem.get((int) (Math.random()*mem.size())));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> random_destinations_bike(){
|
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))) {
|
ArrayList<String> mem = new ArrayList<>();
|
||||||
String line;
|
ArrayList<String> result = new ArrayList<>();
|
||||||
while ((line = reader.readLine()) != null && result.size()<3) {
|
|
||||||
|
for(int i = 0; i<this.distances.size(); i++){
|
||||||
line = line.replace("\"", "");
|
if(Double.parseDouble(this.distances.get(i).split(";")[2])<100)
|
||||||
|
mem.add(this.distances.get(i));
|
||||||
if(Double.parseDouble(distance(line.split(";")[0]).replace(" km", "")) < 100)
|
}
|
||||||
result.add(line);
|
|
||||||
|
|
||||||
}
|
|
||||||
} catch (Exception e) {}
|
|
||||||
|
|
||||||
|
for(int i = 0; i<3; i++)
|
||||||
|
result.add(mem.get((int) (Math.random()*mem.size())));
|
||||||
|
|
||||||
return result;
|
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){
|
public String[] travel_time(String destination_zip){
|
||||||
|
|
||||||
String[] result = new String[2];
|
String[] result = new String[2];
|
||||||
|
|
|
@ -9,19 +9,17 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
public class SystemTest {
|
public class SystemTest {
|
||||||
|
|
||||||
|
System current_system = new System("35a75437476f12302f72e55d368485db");
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void weather_forecast(){
|
public void weather_forecast(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.weather_forecast("68161"));
|
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.weather_forecast("68161"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void current_weather(){
|
public void current_weather(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
current_system.set_current_user_zip("68161");
|
current_system.set_current_user_zip("68161");
|
||||||
|
|
||||||
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.current_weather());
|
assertNotEquals("Es ist ein Fehler aufgetreten!",current_system.current_weather());
|
||||||
|
@ -30,8 +28,6 @@ public class SystemTest {
|
||||||
@Test
|
@Test
|
||||||
public void search(){
|
public void search(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
ArrayList<String> list = current_system.search("Mannheim");
|
ArrayList<String> list = current_system.search("Mannheim");
|
||||||
|
|
||||||
assertEquals("68159", list.get(0).split(";")[0]);
|
assertEquals("68159", list.get(0).split(";")[0]);
|
||||||
|
@ -42,8 +38,6 @@ public class SystemTest {
|
||||||
@Test
|
@Test
|
||||||
public void distance(){
|
public void distance(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
current_system.set_current_user_zip("68161");
|
current_system.set_current_user_zip("68161");
|
||||||
|
|
||||||
assertEquals("88.46 km", current_system.distance("60306")); // Frankfurt
|
assertEquals("88.46 km", current_system.distance("60306")); // Frankfurt
|
||||||
|
@ -55,8 +49,6 @@ public class SystemTest {
|
||||||
@Test
|
@Test
|
||||||
public void travel_time(){
|
public void travel_time(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
current_system.set_current_user_zip("68161");
|
current_system.set_current_user_zip("68161");
|
||||||
current_system.set_current_user_car_avg_kmh(100);
|
current_system.set_current_user_car_avg_kmh(100);
|
||||||
current_system.set_current_user_bike_avg_kmh(20);
|
current_system.set_current_user_bike_avg_kmh(20);
|
||||||
|
@ -71,8 +63,6 @@ public class SystemTest {
|
||||||
@Test
|
@Test
|
||||||
public void calc_l_consumption(){
|
public void calc_l_consumption(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
current_system.set_current_user_zip("68161");
|
current_system.set_current_user_zip("68161");
|
||||||
current_system.set_current_user_car_avg_kmh(100);
|
current_system.set_current_user_car_avg_kmh(100);
|
||||||
current_system.set_current_user_car_l_100km(10);
|
current_system.set_current_user_car_l_100km(10);
|
||||||
|
@ -85,8 +75,6 @@ public class SystemTest {
|
||||||
@Test
|
@Test
|
||||||
public void random_destinations(){
|
public void random_destinations(){
|
||||||
|
|
||||||
System current_system = new System("35a75437476f12302f72e55d368485db");
|
|
||||||
|
|
||||||
current_system.set_current_user_zip("68161");
|
current_system.set_current_user_zip("68161");
|
||||||
|
|
||||||
assertEquals(3, current_system.random_destinations_car().size()); // random_destinations_car gibt genau 3 destinations zurück
|
assertEquals(3, current_system.random_destinations_car().size()); // random_destinations_car gibt genau 3 destinations zurück
|
||||||
|
|
Loading…
Reference in New Issue