public void HandleRequest_ShouldDecreasePremiumByTenPercentIfYoungestDriverBetween26And75OnStartDate() { // Setup dependencies var policy = new InsurancePolicy { StartDate = DateTime.UtcNow, Drivers = new List <InsurancePolicyDriver> { new InsurancePolicyDriver { DateOfBirth = DateTime.UtcNow.AddYears(-30) }, new InsurancePolicyDriver { DateOfBirth = DateTime.UtcNow.AddYears(-64) } } }; // Call HandleRequest var returnedPremium = new InsurancePremiumCalculationYoungestDriverHandler() .HandleRequest(policy, 100); // Verify result Assert.AreEqual(90, returnedPremium); }
public void HandleRequest_ShouldCallSuccessor() { // Setup dependencies var policy = new InsurancePolicy(); var testHandler = new TestHandler() .WithReturnValue(657); var handler = new InsurancePremiumCalculationYoungestDriverHandler(); handler.SetSuccessor(testHandler); // Call HandleRequest var returnedPremium = handler.HandleRequest(policy, 100); // Verify result Assert.AreEqual(657, returnedPremium); }
public void HandleRequest_ShouldReturnPremiumIfYoungestDriverDoesNotMatchCriteria() { // Setup dependencies var policy = new InsurancePolicy { StartDate = DateTime.UtcNow, Drivers = new List <InsurancePolicyDriver> { new InsurancePolicyDriver { DateOfBirth = DateTime.UtcNow.AddYears(-78) } } }; // Call HandleRequest var returnedPremium = new InsurancePremiumCalculationYoungestDriverHandler() .HandleRequest(policy, 100); // Verify result Assert.AreEqual(100, returnedPremium); }