public void BookRide_TestForActiveDrivers() { //arrange Ride.RideBookingDetails expectedDetails = new Ride.RideBookingDetails { Destination = new Location { Latitude = 31.388526m, Longitude = 74.271920m }, PickUpLocation = new Location { Latitude = 31.385081m, Longitude = 74.250328m }, VehicleType = new VehicleType(1) }; //act foreach (var item in Driver.GetAllDrivers()) { item.IsActive = true; } Thread.Sleep(TimeSpan.FromSeconds(15)); Ride actual = new Rider(10).BookRide(expectedDetails); //assert Assert.StrictEqual(expectedDetails.Destination, actual.Destination); Assert.StrictEqual(expectedDetails.PickUpLocation, actual.PickUpLocation); }
public void BookRide_TestForInActiveDrivers() { //arrange Ride.RideBookingDetails expectedDetails = new Ride.RideBookingDetails { Destination = new Location { Latitude = 31.388526m, Longitude = 74.271920m }, PickUpLocation = new Location { Latitude = 31.385081m, Longitude = 74.250328m }, VehicleType = new VehicleType(1) }; //act //assert Assert.Throws <UnsuccessfullProcessException>(() => new Rider(11).BookRide(expectedDetails)); }
public void BookRide_TestForActiveDriversButFarFromPickUp() { //arrange Ride.RideBookingDetails expectedDetails = new Ride.RideBookingDetails { Destination = new Location { Latitude = 31.388526m, Longitude = 74.271920m }, PickUpLocation = new Location { Latitude = 31.494504m, Longitude = 74.301274m }, VehicleType = new VehicleType(1) }; //act foreach (var item in Driver.GetAllDrivers()) { item.IsActive = true; } Thread.Sleep(TimeSpan.FromSeconds(15)); //assert Assert.Throws <UnsuccessfullProcessException>(() => new Rider(10).BookRide(expectedDetails)); }
public IHttpActionResult BookRide([FromUri] long id, [FromUri] int vehicleTypeId, [FromBody] Ride.RideBookingDetails rideDetails) { try { Rider rider = new Rider(id); rideDetails.VehicleType = new VehicleType(vehicleTypeId); Ride ride = rider.BookRide(rideDetails); return(Ok(ride)); } catch (Exception ex) { return(InternalServerError(ex)); } }