Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
 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));
     }
 }