public void Should_value_return_true_for_success_when_no_driver_has_more_than_two_claims() { const string name = "997CA129-4C94-42E0-A1A8-CBBE7428BDD1"; const string occupation = "91F6F29D-6D52-459F-9B03-FCA10749E12D"; const string secondDriversName = "E99BD141-22A2-45E2-885C-380234066C25"; var now = DateTime.Now; var firstClaim = new ClaimStub(now); var secondClaim = new ClaimStub(now); var rejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform = new RejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform(); var firstDriver = new DriverStub(name, occupation, now, new [] { firstClaim, secondClaim }); var secondDriver = new DriverStub(secondDriversName, occupation, now, new [] { firstClaim, secondClaim }); var drivers = new [] { firstDriver, secondDriver }; var actual = rejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform.Transform(drivers).Success; Assert.IsTrue(actual); }
public void Should_return_true_for_success_when_no_driver_is_older_than_75() { var now = DateTime.Now; var nowTimeProvider = new GenericStubProvider <DateTime>(now); const string drivername = "driverName"; const string occupation = "occupation"; var dateOfBirth70 = DateTime.Now.AddYears(-70); var driverOneClaim = new ClaimStub(DateTime.Now); var firstDriver = new DriverStub(drivername, occupation, dateOfBirth70, new [] { driverOneClaim }); var dateOfBirth74 = DateTime.Now.AddYears(-74); var driver2Claim = new ClaimStub(DateTime.Now); var secondDriver = new DriverStub(drivername, occupation, dateOfBirth74, new [] { driver2Claim }); var rejectionMessageAndSuccessBasedOnOldestDriverTransform = new RejectionMessageAndSuccessBasedOnOldestDriverTransform(75, nowTimeProvider); var drivers = new [] { firstDriver, secondDriver }; var actual = rejectionMessageAndSuccessBasedOnOldestDriverTransform.Transform(drivers).Success; Assert.IsTrue(actual); }
public void Should_return_true_for_success_when_youngestDriver_is_than_21() { const string name = "name"; const string occupation = "occupation"; var today = DateTime.Today; var todayProvider = new GenericStubProvider <DateTime>(today); var dateOfBirth = today.AddYears(-21); var rejectionMessageAndSuccessBasedOnYoungestDriverTransform = new RejectionMessageAndSuccessBasedOnYoungestDriverTransform(21, todayProvider); var firstDriversFirstClaim = new ClaimStub(DateTime.Now); var firstDriversClaims = new [] { firstDriversFirstClaim }; var secondDriversFirstClaim = new ClaimStub(DateTime.Now); var secondDriversClaims = new [] { secondDriversFirstClaim }; var firstDriver = new DriverStub(name, occupation, dateOfBirth, firstDriversClaims); var secondDriver = new DriverStub(name, occupation, dateOfBirth, secondDriversClaims); var drivers = new [] { firstDriver, secondDriver }; var actual = rejectionMessageAndSuccessBasedOnYoungestDriverTransform.Transform(drivers).Success; Assert.IsTrue(actual); }
public void Should_increase_premium_by_smaller_percentage_when_a_claim_has_been_made_more_than_one_year_ago() { const double expected = 550.00; const string name = "name"; const string occupation = "occupation"; const double premium = 500.00; var dateOfBirth = DateTime.Now; var dateOfClaim = DateTime.Today.AddYears(-2); var todayProvider = new GenericStubProvider <DateTime>(DateTime.Today); const double smallerPercentIncrease = 0.1; const double largePercentageIncrease = 0.2; const int smallerTimeSpanInYears = 1; const int largerTimeSpanInYears = 5; var driversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform = new DriversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform(smallerPercentIncrease, largePercentageIncrease, smallerTimeSpanInYears, largerTimeSpanInYears, todayProvider); var claim = new ClaimStub(dateOfClaim); var driver = new DriverStub(name, occupation, dateOfBirth, new [] { claim }); var driversAndPremium = new DriverAndPremium(driver, premium); var actual = driversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform.Transform(driversAndPremium); Assert.AreEqual(expected, actual); }