public void HandleRequest_ShouldIncreasePremiumByTenPercentForLessRecentClaims() { // Setup dependencies var policy = new InsurancePolicy { StartDate = DateTime.UtcNow, Drivers = new List <InsurancePolicyDriver> { new InsurancePolicyDriver { Claims = new List <DriverClaim> { new DriverClaim { DateOfClaim = DateTime.UtcNow.AddMonths(-26) }, new DriverClaim { DateOfClaim = DateTime.UtcNow.AddMonths(-37) }, new DriverClaim { DateOfClaim = DateTime.UtcNow.AddYears(-10) } } } } }; // Call HandleRequest var returnedPremium = new InsurancePremiumCalculationClaimsHandler() .HandleRequest(policy, 100); // Verify result Assert.AreEqual((double)121, Math.Round(returnedPremium, 2)); }
public void HandleRequest_ShouldIncreasePremiumByTwentyPercentForRecentClaims() { // Setup dependencies var policy = new InsurancePolicy { StartDate = DateTime.UtcNow, Drivers = new List <InsurancePolicyDriver> { new InsurancePolicyDriver { Claims = new List <DriverClaim> { new DriverClaim { DateOfClaim = DateTime.UtcNow.AddMonths(-1) }, new DriverClaim { DateOfClaim = DateTime.UtcNow.AddMonths(-7) } } } } }; // Call HandleRequest var returnedPremium = new InsurancePremiumCalculationClaimsHandler() .HandleRequest(policy, 100); // Verify result Assert.AreEqual(144, returnedPremium); }
public void HandleRequest_ShouldCallSuccessor() { // Setup dependencies var policy = new InsurancePolicy(); var testHandler = new TestHandler() .WithReturnValue(456); var handler = new InsurancePremiumCalculationClaimsHandler(); handler.SetSuccessor(testHandler); // Call HandleRequest var returnedPremium = handler.HandleRequest(policy, 100); // Verify result Assert.AreEqual(456, returnedPremium); }
public void SetUp() { _handler = new InsurancePremiumCalculationClaimsHandler(); }