Esempio n. 1
0
 public void RepairCar(Car car)
 {
     if (car.IsBroken) {
         RepairEngine(car);
         RepairTyre(car);
     }
 }
Esempio n. 2
0
        public void RoundRobinScenario()
        {
            var tom = new Employee (
                "tom",
                new Driver ()
            );

            var jerry = new Employee (
                "jerry",
                new Driver (),
                new Mechanician ()
            );

            var jack = new Employee (
                "jack",
                new Driver ()
            );

            var engine = CreateEngine ();
            var tyres = CreateTyres (Car.StandardTyreCount);

            var car = new Car (engine, tyres);

            RoundRobinScenario scene = new RoundRobinScenario (car);

            scene.AddEmployee (tom);
            scene.AddEmployee (jerry);
            scene.AddEmployee (jack);

            for (int i = 0; i < 30; i++) {
                scene.Work ();
            }
        }
Esempio n. 3
0
        public void BuildCarTooMuchTyres()
        {
            var engine = CreateEngine();
            var tyres = CreateTyres(Car.StandardTyreCount + 1);

            var car = new Car(engine, tyres);
            Assert.Fail();
        }
Esempio n. 4
0
        public void BuildCar()
        {
            var engine = CreateEngine();
            var tyres = CreateTyres(Car.StandardTyreCount);

            var car = new Car(engine, tyres);
            Assert.Pass("Build Car succ");
        }
Esempio n. 5
0
        private void RepairEngine(Car car)
        {
            if (car.IsEngineBroken) {
                var engine = car.UnloadEngine();

                engine.Reset();
                car.LoadEngine(engine);
            }
        }
Esempio n. 6
0
        public void AddTyreTooMuch()
        {
            var engine = CreateEngine();
            var tyres = CreateTyres(Car.StandardTyreCount);

            var car = new Car(engine, tyres);

            car.AddTyre(new Tyre());
            Assert.Fail();
        }
Esempio n. 7
0
        public void AddTyre()
        {
            var engine = CreateEngine();

            var car = new Car(engine, null);
            Assert.AreEqual(0, car.TyreCount);

            car.AddTyre(new Tyre());
            Assert.AreEqual(1, car.TyreCount);
        }
Esempio n. 8
0
        private void RepairTyre(Car car)
        {
            if (car.IsTyreBroken) {
                car.UnloadBrokenTyres();
                for(int i = car.TyreCount; i < Car.StandardTyreCount; i++)
                {
                    var tyre = new Tyre();

                    car.AddTyre(tyre);
                }
            }
        }
Esempio n. 9
0
 public void DriveCar(Car car)
 {
     car.Start();
 }