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