public PremiumCalculation CalculateYearlyPremium(decimal yearlyRevenue, AmountOfInsurance amountOfInsurance)
        {
            var yearlyRevenueInThosands = yearlyRevenue / 1000m;

            var basePremium = CalculateBasePremium(yearlyRevenueInThosands);

            return(new PremiumCalculation(ApplyAdjustment(basePremium, amountOfInsurance)));
        }
        private static decimal CalculateAdjustmentForAmountOfInsurance(AmountOfInsurance amountOfInsurance)
        {
            switch (amountOfInsurance)
            {
            case AmountOfInsurance.One:
                return(1.1m);

            case AmountOfInsurance.Two:
                return(1.2m);

            case AmountOfInsurance.Three:
                return(1.3m);

            case AmountOfInsurance.Four:
                return(1.4m);

            case AmountOfInsurance.Five:
                return(1.5m);

            default:
                throw new ArgumentException(nameof(amountOfInsurance),
                                            $"Unexpected enum value for AmountOfInsurance {amountOfInsurance.GetType()}");
            }
        }
 private static decimal ApplyAdjustment(decimal basePremium, AmountOfInsurance amountOfInsurance)
 {
     return(basePremium * CalculateAdjustmentForAmountOfInsurance(amountOfInsurance));
 }