static void Main(string[] args) { Miles miles = new Miles("Miles"); Darryl DMoney = new Darryl("D$"); List <IDeveloper> developers = new List <IDeveloper>(); Coffee coffee = miles.MakeCoffee(); developers.Add(miles); developers.Add(DMoney); developers.ForEach(developer => { if (developer is Person) { // NOTE Two different ways of casting to a type Person p = developer as Person; Person person = (Person)developer; System.Console.WriteLine($"Hi my name is {p.Name}"); } if (developer is IBarista) { IBarista selfServingBarista = (IBarista)developer; Coffee selfMadeCoffee = selfServingBarista.MakeCoffee(); developer.WriteCodez(selfMadeCoffee); } developer.WriteCodez(coffee); }); }
public BaristaCalculateCostTest() { var factory = new MockRepository(MockBehavior.Loose); _coffee = factory.Create <ICoffee>(); _io = factory.Create <IInputOutput>(); _barista = new Barista(_io.Object, _coffee.Object); }