Skip to content

Commit 05d63ba

Browse files
author
Jarkko Laitinen
committed
Refactored tests and added a test for importing tasks and vehicles on one request. This is not yet implemented on the production server so atm if importing import tasks and vehicels separately.
1 parent e2972bd commit 05d63ba

File tree

3 files changed

+75
-51
lines changed

3 files changed

+75
-51
lines changed

fi/cosky/sdk/tests/SdkTests.java

+36
Original file line numberDiff line numberDiff line change
@@ -623,4 +623,40 @@ public void T22TaskMassImport() {
623623
assertNotNull(r.getLocation());
624624
}
625625

626+
@Test
627+
public void T23ImportVehiclesAndTasks() {
628+
API api = TestHelper.authenticate();
629+
UserData user = TestHelper.getOrCreateUser(api);
630+
RoutingProblemData problem = TestHelper.createProblem(api, user);
631+
632+
VehicleSetImportRequest vehicles = new VehicleSetImportRequest();
633+
List<VehicleUpdateRequest> vehicleList = new ArrayList<VehicleUpdateRequest>();
634+
635+
for (int i = 0; i < 3; i++) {
636+
vehicleList.add(TestHelper.createVehicleUpdateRequest("vehicle"+i));
637+
}
638+
vehicles.setItems(vehicleList);
639+
640+
TaskSetImportRequest tasks = new TaskSetImportRequest();
641+
List<TaskUpdateRequest> taskList = TestHelper.createListOfTasks(10);
642+
tasks.setItems(taskList);
643+
ImportData r = null;
644+
try {
645+
//##BEGIN EXAMPLE importtasksandvehicles##
646+
ImportRequest importRequest = new ImportRequest();
647+
importRequest.setVehicles(vehicles);
648+
importRequest.setTasks(tasks);
649+
650+
ResponseData response = api.navigate(ResponseData.class, problem.getLink("import"), importRequest);
651+
ImportData result = api.navigate(ImportData.class, response.getLocation());
652+
//##END EXAMPLE##
653+
r = result;
654+
655+
} catch (Exception e){
656+
System.out.println(e.getMessage());
657+
}
658+
assertNotNull(r.getVehicles());
659+
}
660+
661+
626662
}

fi/cosky/sdk/tests/TestData.java

+4-20
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,17 @@
99
* This file is subject to the terms and conditions defined in
1010
* file 'LICENSE.txt', which is part of this source code package.
1111
*/
12+
import fi.cosky.sdk.tests.TestHelper.Location;
1213

1314
public class TestData {
1415

1516
@SuppressWarnings("deprecation")
1617
public static void CreateDemoData(RoutingProblemData problem, API api) {
1718

18-
CoordinateData coordinateData = new CoordinateData();
19-
coordinateData.setLatitude(54.130888);
20-
coordinateData.setLongitude(12.00938);
21-
coordinateData.setSystem(CoordinateData.CoordinateSystem.WGS84);
22-
LocationData locationData = new LocationData();
23-
locationData.setCoordinatesData(coordinateData);
19+
LocationData locationData = TestHelper.createLocation(Location.VEHICLE_START);
20+
LocationData pickupLocation = TestHelper.createLocation(Location.TASK_PICKUP);
21+
LocationData deliveryLocation = TestHelper.createLocation(Location.TASK_DELIVERY);
2422

25-
CoordinateData pickup = new CoordinateData();
26-
pickup.setLatitude(54.14454);
27-
pickup.setLongitude(12.108808);
28-
pickup.setSystem(CoordinateData.CoordinateSystem.WGS84);
29-
LocationData pickupLocation = new LocationData();
30-
pickupLocation.setCoordinatesData(pickup);
31-
32-
CoordinateData delivery = new CoordinateData();
33-
delivery.setLatitude(53.545867);
34-
delivery.setLongitude(10.276409);
35-
delivery.setSystem(CoordinateData.CoordinateSystem.WGS84);
36-
LocationData deliveryLocation = new LocationData();
37-
deliveryLocation.setCoordinatesData(delivery);
38-
3923
ArrayList<CapacityData> capacities = new ArrayList<CapacityData>();
4024
capacities.add(new CapacityData("Weight", 100000));
4125
ArrayList<TimeWindowData> timeWindows = new ArrayList<TimeWindowData>();

fi/cosky/sdk/tests/TestHelper.java

+35-31
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import java.io.IOException;
99
import java.util.ArrayList;
10+
import java.util.Date;
1011
import java.util.List;
1112

1213
import fi.cosky.sdk.*;
@@ -90,21 +91,9 @@ static VehicleData getVehicle(API api, UserData user, RoutingProblemData problem
9091
}
9192

9293
static TaskData getTask(API api, RoutingProblemData problem) {
93-
CoordinateData pickup = new CoordinateData();
94-
pickup.setLatitude(62.244958);
95-
pickup.setLongitude(25.747143);
96-
pickup.setSystem(CoordinateSystem.Euclidian);
97-
LocationData pi = new LocationData();
98-
pi.setCoordinatesData(pickup);
99-
100-
101-
CoordinateData delivery = new CoordinateData();
102-
delivery.setLatitude(62.244589);
103-
delivery.setLongitude(25.74892);
104-
delivery.setSystem(CoordinateSystem.Euclidian);
105-
LocationData de = new LocationData();
106-
de.setCoordinatesData(delivery);
107-
94+
LocationData pi = createLocation(Location.TASK_PICKUP);
95+
LocationData de = createLocation(Location.TASK_DELIVERY);
96+
10897
CapacityData capacity = new CapacityData("Weight", 20);
10998
List<CapacityData> capacities = new ArrayList<CapacityData>();
11099
capacities.add(capacity);
@@ -132,25 +121,12 @@ static TaskData getTask(API api, RoutingProblemData problem) {
132121
static List<TaskUpdateRequest> createListOfTasks(int howMany) {
133122
List<TaskUpdateRequest> tasks = new ArrayList<TaskUpdateRequest>();
134123
for (int i = 0; i < howMany; i++) {
135-
CoordinateData pickup = new CoordinateData();
136-
pickup.setLatitude(62.244958);
137-
pickup.setLongitude(25.747143);
138-
pickup.setSystem(CoordinateSystem.Euclidian);
139-
LocationData pi = new LocationData();
140-
pi.setCoordinatesData(pickup);
141-
142-
143-
CoordinateData delivery = new CoordinateData();
144-
delivery.setLatitude(62.244589);
145-
delivery.setLongitude(25.74892);
146-
delivery.setSystem(CoordinateSystem.Euclidian);
147-
LocationData de = new LocationData();
148-
de.setCoordinatesData(delivery);
149-
124+
LocationData pi = createLocation(Location.TASK_PICKUP);
125+
LocationData de = createLocation(Location.TASK_DELIVERY);
126+
150127
CapacityData capacity = new CapacityData("Weight", 20);
151128
List<CapacityData> capacities = new ArrayList<CapacityData>();
152129
capacities.add(capacity);
153-
154130
TaskEventUpdateRequest task1 = new TaskEventUpdateRequest(Type.Pickup, pi, capacities);
155131
TaskEventUpdateRequest task2 = new TaskEventUpdateRequest(Type.Delivery, de, capacities);
156132

@@ -164,6 +140,22 @@ static List<TaskUpdateRequest> createListOfTasks(int howMany) {
164140
return tasks;
165141
}
166142

143+
static VehicleUpdateRequest createVehicleUpdateRequest(String name) {
144+
ArrayList<CapacityData> capacities = new ArrayList<CapacityData>();
145+
capacities.add(new CapacityData("Weight", 100000));
146+
ArrayList<TimeWindowData> timeWindows = new ArrayList<TimeWindowData>();
147+
Date morning = new Date();
148+
morning.setHours(7);
149+
Date evening = new Date();
150+
evening.setHours(16);
151+
timeWindows.add(new TimeWindowData(morning, evening));
152+
153+
LocationData startLocation = createLocation(Location.VEHICLE_START);
154+
VehicleUpdateRequest vehicleRequest = new VehicleUpdateRequest(name, capacities, startLocation, startLocation);
155+
vehicleRequest.setTimeWindows(timeWindows);
156+
return vehicleRequest;
157+
}
158+
167159
static LocationData createLocation(Location name) {
168160
CoordinateData coordinates = new CoordinateData();
169161
switch (name){
@@ -190,6 +182,18 @@ static LocationData createLocation(Location name) {
190182
return data;
191183
}
192184

185+
static LocationData createLocationWithAddress() {
186+
AddressData address = new AddressData();
187+
address.setCity("Jyväskylä");
188+
address.setCountry("Finland");
189+
address.setPostalCode("40100");
190+
address.setStreet("Mattilanniemi 2");
191+
192+
LocationData data = new LocationData();
193+
data.setAddress(address);
194+
return data;
195+
}
196+
193197
enum Location{ VEHICLE_START, TASK_PICKUP, TASK_DELIVERY};
194198

195199
}

0 commit comments

Comments
 (0)