@@ -777,7 +777,7 @@ public void T27TestUpdatingRoutingProblemSettings() {
777
777
RoutingProblemSettingsUpdateRequest updatedSettings = new RoutingProblemSettingsUpdateRequest ();
778
778
updatedSettings .setDefaultVehicleSpeedFactor (0.8 );
779
779
updatedSettings .setDefaultVehicleSpeedProfile (SpeedProfile .Max120Kmh );
780
- //##END EXAMPLE changeproblemsettings ##
780
+ //##END EXAMPLE##
781
781
ResponseData response = api .navigate (ResponseData .class , settings .getLink ("update-settings" ), updatedSettings );
782
782
before = settings ;
783
783
settings = api .navigate (RoutingProblemSettingsData .class , routingProblemData .getLink ("view-settings" ));
@@ -787,4 +787,147 @@ public void T27TestUpdatingRoutingProblemSettings() {
787
787
}
788
788
assertNotEquals (before .getDefaultVehicleSpeedProfile (), after .getDefaultVehicleSpeedProfile ());
789
789
}
790
+
791
+ @ Test
792
+ public void T28TestRequestingVehicleTypesFromProblem () {
793
+ API api = TestHelper .authenticate ();
794
+ UserData user = TestHelper .getOrCreateUser (api );
795
+ RoutingProblemData routingProblemData = TestHelper .createProblem (api , user );
796
+ ArrayList <String > vehicleTypes = new ArrayList <String >();
797
+ vehicleTypes .add ("Rekka" );
798
+ vehicleTypes .add ("Auto" );
799
+
800
+ ArrayList <String > vehicleTypesFromServer = null ;
801
+ try {
802
+ LocationData start = TestHelper .createLocationWithCoordinates (Location .VEHICLE_START );
803
+ LocationData end = TestHelper .createLocationWithCoordinates (Location .TASK_DELIVERY );
804
+
805
+ ArrayList <CapacityData > capacities = new ArrayList <CapacityData >();
806
+ CapacityData capa = new CapacityData ("asdf" , 100 );
807
+ capacities .add (capa );
808
+ VehicleUpdateRequest vehicle1 = new VehicleUpdateRequest ("auto1" , capacities , start , end );
809
+ vehicle1 .setVehicleType (vehicleTypes .get (0 ));
810
+
811
+ VehicleUpdateRequest vehicle2 = new VehicleUpdateRequest ("auto2" , capacities , start , end );
812
+ vehicle2 .setVehicleType (vehicleTypes .get (1 ));
813
+ ArrayList <VehicleUpdateRequest > both = new ArrayList <VehicleUpdateRequest >();
814
+ both .add (vehicle1 ); both .add (vehicle2 );
815
+ VehicleSetImportRequest vehicles = new VehicleSetImportRequest ();
816
+ vehicles .setItems (both );
817
+
818
+ ResponseData response = api .navigate (ResponseData .class , routingProblemData .getLink ("import-vehicles" ), vehicles );
819
+
820
+ VehicleTypeData vehicleType = api .navigate (VehicleTypeData .class , routingProblemData .getLink ("get-types" ));
821
+ vehicleTypesFromServer = vehicleType .getVehicleTypes ();
822
+ } catch (Exception e ) {
823
+
824
+ }
825
+ assertEquals (vehicleTypesFromServer .size (), vehicleTypes .size ());
826
+ assertEquals (vehicleTypesFromServer .get (0 ), vehicleTypes .get (0 ));
827
+ assertEquals (vehicleTypesFromServer .get (1 ), vehicleTypes .get (1 ));
828
+ }
829
+
830
+ @ Test
831
+ public void T29TestRequestingTasksAndVehiclesWhileOptimizing () {
832
+ API api = TestHelper .authenticate ();
833
+ UserData user = TestHelper .getOrCreateUser (api );
834
+ RoutingProblemData problem = TestHelper .createProblem (api , user );
835
+
836
+ VehicleSetImportRequest vehicles = new VehicleSetImportRequest ();
837
+ List <VehicleUpdateRequest > vehicleList = new ArrayList <VehicleUpdateRequest >();
838
+
839
+ for (int i = 0 ; i < 3 ; i ++) {
840
+ vehicleList .add (TestHelper .createVehicleUpdateRequest ("vehicle" +i ));
841
+ }
842
+ vehicles .setItems (vehicleList );
843
+
844
+ TaskSetImportRequest tasks = new TaskSetImportRequest ();
845
+ List <TaskUpdateRequest > taskList = TestHelper .createListOfTasks (10 );
846
+ tasks .setItems (taskList );
847
+ VehicleDataSet veh = null ;
848
+ TaskDataSet tas = null ;
849
+ try {
850
+
851
+ ImportRequest importRequest = new ImportRequest ();
852
+ importRequest .setVehicles (vehicles );
853
+ importRequest .setTasks (tasks );
854
+
855
+ ResponseData response = api .navigate (ResponseData .class , problem .getLink ("import-data" ), importRequest );
856
+ System .out .println (response .getLocation ());
857
+ ImportData result = api .navigate (ImportData .class , response .getLocation ());
858
+
859
+ response = api .navigate (ResponseData .class , result .getLink ("apply-import" ));
860
+ System .out .println (response );
861
+ problem .setState ("Running" );
862
+ response = api .navigate (ResponseData .class , problem .getLink ("toggle-optimization" ), problem .toRequest ());
863
+
864
+ problem = api .navigate (RoutingProblemData .class , response .getLocation ());
865
+
866
+ while (problem .getProgress () < 10 ) {
867
+ Thread .sleep (1500 );
868
+ problem = api .navigate (RoutingProblemData .class , problem .getLink ("self" ));
869
+ }
870
+
871
+ veh = api .navigate (VehicleDataSet .class , problem .getLink ("list-vehicles" ));
872
+ tas = api .navigate (TaskDataSet .class , problem .getLink ("list-tasks" ));
873
+
874
+ } catch (Exception e ){
875
+ System .out .println (e .getMessage ());
876
+ }
877
+
878
+ assertNotNull (veh .getItems ());
879
+ assertNotNull (tas .getItems ());
880
+ }
881
+
882
+
883
+ @ Test
884
+ public void T30TestGettingKPIsThroughtTheAPI () {
885
+ API api = TestHelper .authenticate ();
886
+ UserData user = TestHelper .getOrCreateUser (api );
887
+ RoutingProblemData problem = TestHelper .createProblem (api , user );
888
+
889
+ RoutingProblemUpdateRequest requ = problem .toRequest ();
890
+ requ .setState ("Running" );
891
+ PlanData plan = null ;
892
+ VehicleSetImportRequest vehicles = new VehicleSetImportRequest ();
893
+ List <VehicleUpdateRequest > vehicleList = new ArrayList <VehicleUpdateRequest >();
894
+
895
+ for (int i = 0 ; i < 3 ; i ++) {
896
+ vehicleList .add (TestHelper .createVehicleUpdateRequest ("vehicle" +i ));
897
+ }
898
+ vehicles .setItems (vehicleList );
899
+
900
+ TaskSetImportRequest tasks = new TaskSetImportRequest ();
901
+ List <TaskUpdateRequest > taskList = TestHelper .createListOfTasks (10 );
902
+ tasks .setItems (taskList );
903
+
904
+ try {
905
+ ImportRequest importRequest = new ImportRequest ();
906
+ importRequest .setVehicles (vehicles );
907
+ importRequest .setTasks (tasks );
908
+
909
+ ResponseData response = api .navigate (ResponseData .class , problem .getLink ("import-data" ), importRequest );
910
+ System .out .println (response .getLocation ());
911
+ ImportData result = api .navigate (ImportData .class , response .getLocation ());
912
+
913
+ response = api .navigate (ResponseData .class , result .getLink ("apply-import" ));
914
+ System .out .println (response );
915
+ problem .setState ("Running" );
916
+ response = api .navigate (ResponseData .class , problem .getLink ("toggle-optimization" ), problem .toRequest ());
917
+
918
+
919
+ problem = api .navigate (RoutingProblemData .class , response .getLocation ());
920
+ while (problem .getState ().equals ("Running" )) {
921
+ Thread .sleep (1000 );
922
+ System .out .println (problem .getProgress ());
923
+ problem = api .navigate (RoutingProblemData .class , response .getLocation ());
924
+ }
925
+
926
+ plan = api .navigate (PlanData .class , problem .getLink ("plan" ));
927
+ } catch (Exception e ) {
928
+
929
+ }
930
+ assertNotNull (plan .getKPIs ());
931
+ }
932
+
790
933
}
0 commit comments