public void CalculateParkingFee_Given_EntryAndExitTime_Should_Not_Return_EarlyBirdRate() { //Arrange var calculateEngine = new CarParkCalculateEngine(); //17/2/2018 645am var entryDateTime = new DateTime(2018, 2, 16, 6, 45, 20, DateTimeKind.Local); //17/2/2018 1131pm var exitDateTime = new DateTime(2018, 2, 16, 15, 29, 30, DateTimeKind.Local); //Act var parkingPriceDetails = calculateEngine.GetCarParkingPriceDetails(entryDateTime, exitDateTime); //Assert Assert.IsNotNull(parkingPriceDetails); Assert.IsInstanceOfType(parkingPriceDetails, typeof(CarParkingFeeDetails)); Assert.IsNotNull(parkingPriceDetails.Rate); Assert.IsNotInstanceOfType(parkingPriceDetails.Rate, typeof(EarlyBirdRate)); Assert.AreEqual(parkingPriceDetails.TotalParkingFee, 20.00m); }
public void CalculateParkingFee_Given_EntryAndExitTime_Should_Return_NightRate_Scenario2() { //Arrange var calculateEngine = new CarParkCalculateEngine(); //17/2/2018 645am var entryDateTime = new DateTime(2018, 2, 15, 18, 45, 20, DateTimeKind.Local); //17/2/2018 1115pm var exitDateTime = new DateTime(2018, 2, 16, 5, 59, 30, DateTimeKind.Local); //Act var parkingPriceDetails = calculateEngine.GetCarParkingPriceDetails(entryDateTime, exitDateTime); //Assert Assert.IsNotNull(parkingPriceDetails); Assert.IsInstanceOfType(parkingPriceDetails, typeof(CarParkingFeeDetails)); Assert.IsNotNull(parkingPriceDetails.Rate); Assert.IsInstanceOfType(parkingPriceDetails.Rate, typeof(NightRate)); Assert.AreEqual(parkingPriceDetails.TotalParkingFee, 6.50m); }
public void CalculateParkingFee_Given_EntryAndExitTime_Should_Return_StandardRate_Scenario2() { //Arrange var calculateEngine = new CarParkCalculateEngine(); //17/2/2018 1100am var entryDateTime = new DateTime(2018, 2, 12, 11, 00, 20, DateTimeKind.Local); //18/2/2018 1359pm var exitDateTime = new DateTime(2018, 2, 12, 13, 59, 00, DateTimeKind.Local); //Act var parkingPriceDetails = calculateEngine.GetCarParkingPriceDetails(entryDateTime, exitDateTime); //Assert Assert.IsNotNull(parkingPriceDetails); Assert.IsInstanceOfType(parkingPriceDetails, typeof(CarParkingFeeDetails)); Assert.IsNotNull(parkingPriceDetails.Rate); Assert.IsInstanceOfType(parkingPriceDetails.Rate, typeof(StandardRate)); Assert.AreEqual(parkingPriceDetails.TotalParkingFee, 15.00m); }