예제 #1
0
        public MowController(
            IMowControlConfig config,
            IPowerSwitch powerSwitch,
            IWeatherForecast weatherForecast,
            ISystemTime systemTime,
            IHomeSensor homeSensor,
            IMowLogger logger,
            IRainSensor rainSensor,
            bool?mowerIsHome = null)
        {
            Config          = config;
            PowerSwitch     = powerSwitch;
            WeatherForecast = weatherForecast;
            SystemTime      = systemTime;
            HomeSensor      = homeSensor;
            Logger          = logger;
            RainSensor      = rainSensor;

            if (mowerIsHome.HasValue)
            {
                _mowerIsHome = mowerIsHome.Value;
            }
            else
            {
                _mowerIsHome = HomeSensor.IsHome;
            }
        }
예제 #2
0
 public KettleController(IPowerSwitch powerSwitch, IPowerLamp powerLamp, ITemperatureSensor temperatureSensor,
                         IWaterSensor waterSensor, IHeatingElement heatingElement)
 {
     this._powerSwitch             = powerSwitch;
     this._powerLamp               = powerLamp;
     this._temperatureSensor       = temperatureSensor;
     this._waterSensor             = waterSensor;
     this._heatingElement          = heatingElement;
     this._isComponentsInitialized = false;
 }
예제 #3
0
        public Kettle()
        {
            IPowerSwitch p = (IPowerSwitch)this;

            p.SwitchedOn  += new EventHandler(On_PowerOn_Press);
            p.SwitchedOff += new EventHandler(On_PowerOff_Press);

            var sensors = new TemperatureSensors();

            PrintTemperatures(sensors);
        }
예제 #4
0
        //constructor
        public KettleController( IPowerSwitch ps, IPowerLamp pl, IHeatingElement he, ITemperatureSensor ts, IWaterSensor ws)
        {
            this.powerSwitch = ps;
            this.powerSwitch.SwitchedOn+=new EventHandler( powerSwitch_SwitchedOn);
            this.powerSwitch.SwitchedOff+=new EventHandler( powerSwitch_SwitchedOff);

            this.powerLamp = pl;
            this.powerLamp.SwitchedOn+=new EventHandler (powerLamp_SwitchedOn);
               this.powerLamp.SwitchedOff+=new EventHandler (powerLamp_SwitchedOff);

               this.heatingElement = he;
               this.temperatureSensor = ts;
               this.waterSensor = ws;
        }
        public KettleController(IPowerSwitch powerSwitch,
                                IPowerLamp powerLamp,
                                IHeatingElement heatingElement,
                                IWaterSensor waterSensor,
                                ITemperatureSensor temperatureSensor)
        {
            this.powerSwitch       = powerSwitch ?? throw new ArgumentNullException(nameof(powerSwitch));
            this.powerLamp         = powerLamp ?? throw new ArgumentNullException(nameof(powerLamp));
            this.heatingElement    = heatingElement ?? throw new ArgumentNullException(nameof(heatingElement));
            this.waterSensor       = waterSensor ?? throw new ArgumentNullException(nameof(waterSensor));
            this.temperatureSensor = temperatureSensor ?? throw new ArgumentNullException(nameof(temperatureSensor));

            this.powerSwitch.SwitchedOn         += PowerSwitch_SwitchedOn;
            this.powerSwitch.SwitchedOff        += PowerSwitch_SwitchedOff;
            this.temperatureSensor.ValueChanged += TemperatureSensor_ValueChanged;
            this.waterSensor.ValueChanged       += WaterSensor_ValueChanged;
        }
 public Kettle()
 {
     Power = new PowerSwitch();
     Heat  = new HeatingElement();
 }