示例#1
0
        public static decimal GetPrice(this WindyLindyEvents instance)
        {
            switch (instance)
            {
            case WindyLindyEvents.Heats:
                return(10);

            case WindyLindyEvents.GrammyAwards:
                return(30);

            case WindyLindyEvents.RockStarsBall:
                return(60);

            case WindyLindyEvents.GroupiesPrivateParty:
                return(25);

            case WindyLindyEvents.HardRockBusTour:
                return(30);

            case WindyLindyEvents.BackStageParty:
                return(60);

            case WindyLindyEvents.SundayNightAfterParty:
                return(30);

            case WindyLindyEvents.GroupiesGoodbyeJam:
                return(25);

            default:
                throw new ArgumentException("Don't have a price for windy lindy event: {0}".FormatWith(instance));
            }
        }
        public void It_should_have_the_correct_price_for_all_events(WindyLindyEvents windyLindyEvents, decimal expectedPrice)
        {
            var events = windyLindyEvents.PutIntoList();

            var result = new WindyLindyEventsPriceCalculation(events)
                         .Calculate()
                         .Result();

            Assert.AreEqual(expectedPrice, result);
        }