public void T26ImportVehiclesAndTasksFails() { var api = TestHelper.Authenticate(); var user = TestHelper.GetOrCreateUser(api); var problem = TestHelper.CreateProblem(api, user, "failing-import-problem2"); var vehicleSet = new VehicleSetImportRequest { Items = new List<VehicleUpdateRequest>() }; for (int i = 0; i < 4; i++) { var vehicle = TestHelper.GenerateVehicleUpdateRequestWithName("Vehicle" + i); vehicleSet.Items.Add(vehicle); } vehicleSet.Items.Add(TestHelper.GenerateVehicleUpdateRequestWithName("")); var taskSet = new TaskSetImportRequest { Items = new List<TaskUpdateRequest>() }; for (int i = 0; i < 4; i++) { var task = TestHelper.GenerateTaskUpdateRequestWithName("Task" + i); taskSet.Items.Add(task); } taskSet.Items.Add(TestHelper.GenerateTaskUpdateRequestWithName("")); var depotSet = new ImportDepotSetRequest { Items = new List<UpdateDepotRequest>() }; var request = new ImportRequest { Tasks = taskSet, Vehicles = vehicleSet, Depots = depotSet }; var result = api.Navigate<ResponseData>(problem.GetLink("import-data"), request); var import = api.Navigate<ImportData>(result.Location); Assert.AreEqual("Fail", import.State); Assert.AreEqual(2, import.ErrorCount); Assert.AreEqual(5, import.Vehicles.Count); Assert.AreEqual(5, import.Tasks.Count); Assert.IsTrue(import.Meta.Find(link => link.Rel.Equals("self")).Enabled); Assert.IsFalse(import.Meta.Find(link => link.Rel.Equals("apply-import")).Enabled); }
public void T27ApplyImportedVehiclesAndTasks() { var api = TestHelper.Authenticate(); var user = TestHelper.GetOrCreateUser(api); var problem = TestHelper.CreateProblem(api, user, "applied-import-problem"); var vehicleSet = new VehicleSetImportRequest { Items = new List<VehicleUpdateRequest>() }; for (int i = 0; i < 5; i++) { var vehicle = TestHelper.GenerateVehicleUpdateRequestWithName("Vehicle" + i); vehicleSet.Items.Add(vehicle); } var taskSet = new TaskSetImportRequest { Items = new List<TaskUpdateRequest>() }; for (int i = 0; i < 5; i++) { var task = TestHelper.GenerateTaskUpdateRequestWithName("Task" + i); taskSet.Items.Add(task); } var depotSet = new ImportDepotSetRequest { Items = new List<UpdateDepotRequest>() }; var request = new ImportRequest { Tasks = taskSet, Vehicles = vehicleSet, Depots = depotSet }; var result = api.Navigate<ResponseData>(problem.GetLink("import-data"), request); var import = api.Navigate<ImportData>(result.Location); Assert.AreEqual("Success", import.State); Assert.AreEqual(0, import.ErrorCount); Assert.AreEqual(5, import.Vehicles.Count); Assert.AreEqual(5, import.Tasks.Count); Assert.IsTrue(import.Meta.Find(link => link.Rel.Equals("self")).Enabled); Assert.IsTrue(import.Meta.Find(link => link.Rel.Equals("apply-import")).Enabled); //##BEGIN EXAMPLE applyimport## var appyResult = api.Navigate<ResponseData>(import.GetLink("apply-import")); problem = api.Navigate<RoutingProblemData>(problem.GetLink("self")); // now we wait for NFleet to do geocoding i.e. data state turns from 'Pending' into 'Ready' while (problem.DataState == "Pending") { Thread.Sleep(1000); problem = api.Navigate<RoutingProblemData>( problem.GetLink( "self" ) ); } //##END EXAMPLE## var vehicles = api.Navigate<VehicleDataSet>(problem.GetLink("list-vehicles")); var tasks = api.Navigate<VehicleDataSet>(problem.GetLink("list-tasks")); Assert.AreEqual(5, vehicles.Items.Count); Assert.AreEqual(5, tasks.Items.Count); }
public void T24TaskMassImport() { var api = TestHelper.Authenticate(); var user = TestHelper.GetOrCreateUser(api); var problem = TestHelper.CreateProblemWithDemoData(api, user); var capacity = new CapacityData {Name = "Weight", Amount = 20}; var timeWindows = new List<TimeWindowData> { new TimeWindowData { Start = new DateTime(2013, 5, 14, 7, 0, 0), End = new DateTime(2013, 5, 14, 16, 0, 0) } }; var vehiclePickup = new LocationData() { Coordinate = new CoordinateData {Latitude = 62.244588, Longitude = 25.742683, System = "WGS84"} }; var vehicleDelivery = new LocationData() { Coordinate = new CoordinateData {Latitude = 62.244588, Longitude = 25.742683, System = "WGS84"} }; //##BEGIN EXAMPLE importtaskset## var importRequest = new TaskSetImportRequest { Items = new List<TaskUpdateRequest>() }; for (int i = 0; i < 10; i++) { var task = new TaskUpdateRequest {Name = "test name"}; task.RelocationType = "None"; task.ActivityState = "Active"; var pickup = new TaskEventUpdateRequest { Type = "Pickup", Location = new LocationData { Coordinate = new CoordinateData { Latitude = 62.244958, Longitude = 25.747143, System = "Euclidian" } }, TimeWindows = { new TimeWindowData { Start = new DateTime( 2013, 5, 14, 8, 0, 0 ), End = new DateTime( 2013, 5, 14, 12, 0, 0 ) } } }; pickup.Capacities.Add(capacity); task.TaskEvents.Add(pickup); var delivery = new TaskEventUpdateRequest { Type = "Delivery", Location = new LocationData { Coordinate = new CoordinateData { Latitude = 62.244589, Longitude = 25.74892, System = "Euclidian" } }, TimeWindows = { new TimeWindowData { Start = new DateTime( 2013, 5, 14, 8, 0, 0 ), End = new DateTime( 2013, 5, 14, 12, 0, 0 ) } } }; delivery.Capacities.Add(capacity); task.TaskEvents.Add(delivery); importRequest.Items.Add(task); } var result = api.Navigate<ResponseData>(problem.GetLink("import-tasks"), importRequest); //##END EXAMPLE## }