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; } }
public TimeBasedHomeSensor(DateTime startTime, IMowControlConfig config, IPowerSwitchConsumer powerSwitch, ISystemTime systemTime) { _isHome = false; _startTime = startTime; _config = config; _systemTime = systemTime; _powerSwitch = powerSwitch; _wasHomeDuringLastInterval = true; _firstCheck = true; MowerCameTime = DateTime.MinValue; MowerLeftTime = DateTime.MinValue; }