Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        public void TestSuperWorkerClass()
        {
            SuperWorker worker = new SuperWorker("Aurimas", new Restaurant("GrillHouse", true), 800);

            Assert.AreEqual("Aurimas", worker.Name);
        }
Exemplo n.º 3
0
 public void VisitSuper(SuperWorker simpWorker)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 4
0
 public void VisitSuper(SuperWorker simpWorker)
 {
     Console.WriteLine($"Bartender salary: { simpWorker.receiveSalary() + (_drinksSold * 4)}");
 }
Exemplo n.º 5
0
 public void VisitSuper(SuperWorker simpWorker)
 {
     Console.WriteLine($"Cook salary: {simpWorker.receiveSalary() + (_dish * 3)}");
 }
Exemplo n.º 6
0
 public void VisitSuper(SuperWorker simpWorker)
 {
     Console.WriteLine($"Cleaner salary: { simpWorker.receiveSalary() + (_rooms * 2)}");
 }