public void GetCharge_NoBedtimeWithTimePastMidnight() { // Arrange with a checkin of 6PM, checkout of 1AM, and no bedtime set BabysitterTime babysitterTime = new BabysitterTime(); babysitterTime.CheckIn = DateTime.Today.AddHours(18); babysitterTime.CheckOut = DateTime.Today.AddHours(1); TimeCalcController controller = new TimeCalcController(); var result = controller.GetNightlyCharge(babysitterTime); // Assert Assert.IsNotNull(result); Assert.AreEqual(88.0M, result); }
public void GetCharge_CheckInTooEarlyWithBedTime() { // Arrange with a checkin of 4PM, checkout of 12AM, and a bedtime of 9PM BabysitterTime babysitterTime = new BabysitterTime(); babysitterTime.CheckIn = DateTime.Today.AddHours(16); babysitterTime.CheckOut = DateTime.Today.AddHours(0); babysitterTime.Bedtime = DateTime.Today.AddHours(21); TimeCalcController controller = new TimeCalcController(); var result = controller.GetNightlyCharge(babysitterTime); // Assert Assert.IsNotNull(result); Assert.AreEqual(72.0M, result); }
public void GetCharge_WithBedtimeNoTimePastMidnight() { // Arrange with a checkin of 6PM, checkout of 11PM, and a bedtime of 9PM BabysitterTime babysitterTime = new BabysitterTime(); babysitterTime.CheckIn = DateTime.Today.AddHours(18); babysitterTime.CheckOut = DateTime.Today.AddHours(23); babysitterTime.Bedtime = DateTime.Today.AddHours(21); TimeCalcController controller = new TimeCalcController(); var result = controller.GetNightlyCharge(babysitterTime); // Assert Assert.IsNotNull(result); Assert.AreEqual(52.0M, result); }
public void GetCharge_WithUninitializedCheckOut() { // Arrange with a checkin 6PM, checkout not initialized, and a bedtime of 9PM BabysitterTime babysitterTime = new BabysitterTime(); babysitterTime.CheckIn = new DateTime(); babysitterTime.Bedtime = new DateTime(); babysitterTime.CheckIn.AddHours(18); babysitterTime.Bedtime.AddHours(21); TimeCalcController controller = new TimeCalcController(); try { var result = controller.GetNightlyCharge(babysitterTime); } catch (HttpResponseException ex) { // Assert Assert.AreEqual(ex.Response.StatusCode, HttpStatusCode.BadRequest); } }