コード例 #1
0
 public Accelerator(EngineManagementSystem mediator)
 {
     _mediator = mediator;
     _enabled = false;
     _speed = 0;
     _mediator.RegisterAccelerator(this);
 }
コード例 #2
0
        public void MediatorTestCase()
        {
            var ems = new EngineManagementSystem();
            var ignition = new Ignition(ems);
            var accelerator = new Accelerator(ems);
            var brake = new Brake(ems);
            var gearbox = new GearBox(ems);

            //Log
            ignition.Start();
            accelerator.AccelerateToSpeed(40);
            accelerator.AccelerateToSpeed(80);
            brake.Apply();
            ignition.Stop();
            //todo: define tests
        }
コード例 #3
0
        public Ignition(EngineManagementSystem mediator)
        {
            _mediator = mediator;
            _on = false;

            mediator.RegisterIgnition(this);
        }
コード例 #4
0
 public GearBox(EngineManagementSystem mediator)
 {
     _mediator = mediator;
     _enabled = false;
     _currentGear = Gear.Neutral;
     _mediator.RegisterGearBox(this);
 }
コード例 #5
0
 public Brake(EngineManagementSystem mediator)
 {
     _mediator = mediator;
     _enabled = false;
     _applied = false;
     _mediator.RegisterBrake(this);
 }