public void Calculate_ThirdHour_CorrectRate() { // ARRANGE var endDateTimes = new[] { 2.0, 2.5, 2.9 }.Select(i => StartDate.AddHours(i)); // ACT var responses = endDateTimes.Select(i => SUT.Calculate(new CalculateRequest(StartDate, i))).ToList(); // ASSERT AssertHelpers.AssertCalculateResponses(responses, Enumerable.Repeat(15M, 3).ToList(), ExpectedRateName); }
public void Calculate_ThreePlusHours_CorrectRate() { // ARRANGE var endDateTimes = new[] { 3, 9, 18, 27, 36 }.Select(i => StartDate.AddHours(i)); // ACT var responses = endDateTimes.Select(i => SUT.Calculate(new CalculateRequest(StartDate, i))).ToList(); // ASSERT var expectedPrices = new[] { 20M, 40M, 40M, 40M, 60M }.ToList(); AssertHelpers.AssertCalculateResponses(responses, expectedPrices, ExpectedRateName); }
public void Calculate_EligibleStartAndEndTimesOnSameDay_CorrectPrice() { // ARRANGE var requests = new[] { new CalculateRequest(inclMinStartDateTime, inclMinStartDateTime.AddMinutes(5)), }; // ACT var responses = requests.Select(i => SUT.Calculate(i)).ToList(); // ASSERT AssertHelpers.AssertCalculateResponses(responses, Enumerable.Repeat(10M, 1).ToList(), ExpectedRateName); }
public void Name_EligibleTimesOnWeekdays_CorrectPrice() { // ARRANGE var requests = new[] { new CalculateRequest(EnclMinStartDateTime, ExclMaxEndDateTime.AddMilliseconds(-1)), new CalculateRequest(ExclMaxStartDateTime.AddMilliseconds(-1), ExclMaxEndDateTime.AddMilliseconds(-1)), }; // ACT var responses = requests.Select(i => SUT.Calculate(i)).ToList(); // ASSERT AssertHelpers.AssertCalculateResponses(responses, Enumerable.Repeat(6.5M, 2).ToList(), ExpectedRateName); }