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);
        }