@@ -777,7 +777,7 @@ public void T27TestUpdatingRoutingProblemSettings() {
777777 RoutingProblemSettingsUpdateRequest updatedSettings = new RoutingProblemSettingsUpdateRequest ();
778778 updatedSettings .setDefaultVehicleSpeedFactor (0.8 );
779779 updatedSettings .setDefaultVehicleSpeedProfile (SpeedProfile .Max120Kmh );
780- //##END EXAMPLE changeproblemsettings ##
780+ //##END EXAMPLE##
781781 ResponseData response = api .navigate (ResponseData .class , settings .getLink ("update-settings" ), updatedSettings );
782782 before = settings ;
783783 settings = api .navigate (RoutingProblemSettingsData .class , routingProblemData .getLink ("view-settings" ));
@@ -787,4 +787,147 @@ public void T27TestUpdatingRoutingProblemSettings() {
787787 }
788788 assertNotEquals (before .getDefaultVehicleSpeedProfile (), after .getDefaultVehicleSpeedProfile ());
789789 }
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+
790933}
0 commit comments