public void TestRole() { SimpleWorker simpleWorker = new SimpleWorker("Simas", new Restaurant("Test", true), 600); SuperWorker superWorker = new SuperWorker("Petras", new Restaurant("Bao", false), 1000); IWorker worker = new Bartender(new Cleaner(superWorker)); Assert.AreEqual(10, ((Cleaner)((WorkerDecorator)worker).getRole("App.Core.Decorator.Worker.Cleaner")).cleanRoom(10)); Assert.AreEqual(1020, ((Cleaner)((WorkerDecorator)worker).getRole("App.Core.Decorator.Worker.Cleaner")).receiveSalary()); Assert.AreEqual(10, ((Bartender)((WorkerDecorator)worker).getRole("App.Core.Decorator.Worker.Bartender")).Sell(10)); Assert.AreEqual(1060, ((Bartender)((WorkerDecorator)worker).getRole("App.Core.Decorator.Worker.Bartender")).receiveSalary()); worker = (WorkerDecorator)((WorkerDecorator)worker).removeRole("App.Core.Decorator.Worker.Bartender"); worker.work(); }
public void TestSuperWorkerClass() { SuperWorker worker = new SuperWorker("Aurimas", new Restaurant("GrillHouse", true), 800); Assert.AreEqual("Aurimas", worker.Name); }
public void VisitSuper(SuperWorker simpWorker) { throw new NotImplementedException(); }
public void VisitSuper(SuperWorker simpWorker) { Console.WriteLine($"Bartender salary: { simpWorker.receiveSalary() + (_drinksSold * 4)}"); }
public void VisitSuper(SuperWorker simpWorker) { Console.WriteLine($"Cook salary: {simpWorker.receiveSalary() + (_dish * 3)}"); }
public void VisitSuper(SuperWorker simpWorker) { Console.WriteLine($"Cleaner salary: { simpWorker.receiveSalary() + (_rooms * 2)}"); }