public void CalculatesSingleTripPolicy() { var policy = new SingleTripPolicy( new Age(46), new Sex("Female"), new Destination("Worldwide"), new PeriodOfTravel(10), new Tax(0.05)); var premium = policy.CalculatePremium(); Assert.Equal(28.58, premium.Amount, 2); }
public void DeclinedPolicy() { var policy = new SingleTripPolicy(new Age(76), new Sex("Male"), new Destination("Worldwide"), new PeriodOfTravel(21), new Tax(0.05)); var premium = policy.CalculatePremium(); string result = new PremiumFormatter().Format(premium); Assert.Equal(@"DECLINE: Age", result); }
public void SingleTripAge20MaleUKFor10Days() { var policy = new SingleTripPolicy(new Age(20), new Sex("Male"), new Destination("UK"), new PeriodOfTravel(10), new Tax(0.05)); var premium = policy.CalculatePremium(); string result = new PremiumFormatter().Format(premium); Assert.Equal( @"BasePremium (20.00): 20.00 Age (0.00): 20.00 Sex (4.00): 24.00 Destination (-9.60): 14.40 PeriodOfTravel (-1.44): 12.96 Tax (0.65): 13.61 Total Premium: 13.60", result); }