示例#1
0
 public void Poll(WarmerPlateStatus warmerPlateStatus)
 {
     if (warmerPlateStatus == WarmerPlateStatus.POT_NOT_EMPTY)
         coffeeMaker.SetWarmerState(WarmerState.ON);
     else
         coffeeMaker.SetWarmerState(WarmerState.OFF);
 }
示例#2
0
        public override bool IsReady()
        {
            WarmerPlateStatus plateStatus =
                api.GetWarmerPlateStatus();

            return(plateStatus == WarmerPlateStatus.POT_EMPTY);
        }
示例#3
0
 public void Poll(WarmerPlateStatus warmerPlateStatus)
 {
     if (warmerPlateStatus == WarmerPlateStatus.WARMER_EMPTY)
         coffeeMaker.SetReliefValveState(ReliefValveState.OPEN);
     else
         coffeeMaker.SetReliefValveState(ReliefValveState.CLOSED);
 }
示例#4
0
 public void Poll(BoilerStatus boilerStatus, BrewButtonStatus brewButtonStatus, WarmerPlateStatus warmerPlateStatus)
 {
     if (boilerStatus == BoilerStatus.NOT_EMPTY &&
         brewButtonStatus == BrewButtonStatus.PUSHED &&
         warmerPlateStatus != WarmerPlateStatus.WARMER_EMPTY)
         coffeeMaker.SetBoilerState(BoilerState.ON);
     else
         coffeeMaker.SetBoilerState(BoilerState.OFF);
 }
 public M4CoffeeMakerApi()
 {
     warmerPlateStatus = WarmerPlateStatus.WARMER_EMPTY;
     boilerStatus      = BoilerStatus.EMPTY;
     boilerState       = BoilerState.OFF;
     brewButtonStatus  = BrewButtonStatus.NOT_PUSHED;
     warmerState       = WarmerState.OFF;
     indicatorState    = IndicatorState.OFF;
     reliefValveState  = ReliefValveState.CLOSED;
 }
示例#6
0
 public void Poll(BoilerStatus boilerStatus, WarmerPlateStatus warmerPlateStatus, BrewButtonStatus brewButtonStatus)
 {
     if (boilerStatus == BoilerStatus.EMPTY &&
         warmerPlateStatus != WarmerPlateStatus.POT_EMPTY &&
         brewButtonStatus == BrewButtonStatus.PUSHED)
     {
         coffeeMaker.SetIndicatorState(IndicatorState.ON);
         coffeeMaker.GetBrewButtonStatus();
     }
 }
示例#7
0
 public void SetReliefValveState(ReliefValveState state)
 {
     if (state == ReliefValveState.Open)
     {
         _boilerStatus     = BoilerStatus.NotEmpty;
         _warmerStatus     = WarmerPlateStatus.PotEmpty;
         _brewButtonStatus = BrewButtonStatus.Pushed;
         return;
     }
     _boilerStatus     = BoilerStatus.Empty;
     _warmerStatus     = WarmerPlateStatus.PotNotEmpty;
     _brewButtonStatus = BrewButtonStatus.NotPushed;
 }
示例#8
0
 public void SetIndicatorState(IndicatorState state)
 {
     if (state == IndicatorState.On)
     {
         _boilerStatus     = BoilerStatus.Empty;
         _warmerStatus     = WarmerPlateStatus.PotNotEmpty;
         _brewButtonStatus = BrewButtonStatus.NotPushed;
         return;
     }
     _boilerStatus     = BoilerStatus.NotEmpty;
     _warmerStatus     = WarmerPlateStatus.PotEmpty;
     _brewButtonStatus = BrewButtonStatus.Pushed;
 }
        private void HandleIncompleteEvent(WarmerPlateStatus potStatus)
        {
            var handlers = new Dictionary <WarmerPlateStatus, Action>()
            {
                [WarmerPlateStatus.PotNotEmpty] = () => _api.SetWarmerState(WarmerState.On),
                [WarmerPlateStatus.WarmerEmpty] = () => _api.SetWarmerState(WarmerState.Off),
                [WarmerPlateStatus.PotEmpty]    = () =>
                {
                    _api.SetWarmerState(WarmerState.Off);
                    DeclareComplete();
                }
            };

            handlers[potStatus]();
        }
 private void HandleIncompleteEvent(WarmerPlateStatus potStatus)
 {
     if (potStatus == WarmerPlateStatus.POT_NOT_EMPTY)
     {
         api.SetWarmerState(WarmerState.ON);
     }
     else if (potStatus == WarmerPlateStatus.WARMER_EMPTY)
     {
         api.SetWarmerState(WarmerState.OFF);
     }
     else
     {
         api.SetWarmerState(WarmerState.OFF);
         DeclareComplete();
     }
 }
示例#11
0
 private void HandleIncompleteEvent(WarmerPlateStatus potStatus)
 {
     if (potStatus == WarmerPlateStatus.PotNotEmpty)
     {
         api.SetWarmerState(WarmerState.On);
     }
     else if (potStatus == WarmerPlateStatus.WarmerEmpty)
     {
         api.SetWarmerState(WarmerState.Off);
     }
     else
     {
         // potStatus == PotEmpty
         api.SetWarmerState(WarmerState.Off);
         DeclareComplete();
     }
 }
        public void Poll()
        {
            WarmerPlateStatus potStatus = api.GetWarmerPlateStatus();

            if (potStatus != lastPotStatus)
            {
                if (isBrewing)
                {
                    HandleBrewingEvent(potStatus);
                }
                else if (isComplete == false)
                {
                    HandleIncompleteEvent(potStatus);
                }
                lastPotStatus = potStatus;
            }
        }
 private void HandleBrewingEvent(WarmerPlateStatus potStatus)
 {
     if (potStatus == WarmerPlateStatus.POT_NOT_EMPTY)
     {
         ContainerAvailable();
         api.SetWarmerState(WarmerState.ON);
     }
     else if (potStatus == WarmerPlateStatus.WARMER_EMPTY)
     {
         ContainerUnavailable();
         api.SetWarmerState(WarmerState.OFF);
     }
     else
     {
         ContainerAvailable();
         api.SetWarmerState(WarmerState.OFF);
     }
 }
示例#14
0
 private void HandleBrewingEvent(WarmerPlateStatus potStatus)
 {
     if (potStatus == WarmerPlateStatus.PotNotEmpty)
     {
         ContainerAvailable();
         api.SetWarmerState(WarmerState.On);
     }
     else if (potStatus == WarmerPlateStatus.WarmerEmpty)
     {
         ContainerUnavailable();
         api.SetWarmerState(WarmerState.Off);
     }
     else
     {
         // potStatus == PotEmpty
         ContainerAvailable();
         api.SetWarmerState(WarmerState.Off);
     }
 }
        public void Poll()
        {
            var potStatus = _api.GetWarmerPlateStatus();

            if (potStatus == _lastPotStatus)
            {
                return;
            }

            if (_isBrewing)
            {
                HandleBrevingEvent(potStatus);
            }
            else if (!_isComplete)
            {
                HandleIncompleteEvent(potStatus);
            }

            _lastPotStatus = potStatus;
        }
        private void HandleBrevingEvent(WarmerPlateStatus potStatus)
        {
            var handlers = new Dictionary <WarmerPlateStatus, Action>()
            {
                [WarmerPlateStatus.PotNotEmpty] = () =>
                {
                    ContainerAvailable();
                    _api.SetWarmerState(WarmerState.On);
                },
                [WarmerPlateStatus.WarmerEmpty] = () =>
                {
                    ContainerUnavailable();
                    _api.SetWarmerState(WarmerState.Off);
                },
                [WarmerPlateStatus.PotEmpty] = () =>
                {
                    ContainerAvailable();
                    _api.SetWarmerState(WarmerState.Off);
                }
            };

            handlers[potStatus]();
        }
        public override bool IsReady()
        {
            WarmerPlateStatus status = CoffeeMaker.api.GetWarmerPlateStatus();

            return(status == WarmerPlateStatus.POT_EMPTY);
        }
示例#18
0
 public M4ContainmentVessel(CoffeeMakerApi api)
 {
     this.api      = api;
     lastPotStatus = WarmerPlateStatus.PotEmpty;
 }
 protected internal void SetWarmerPlateStatus(WarmerPlateStatus warmerPlateStatus)
 {
     WarmerPlateStatus = warmerPlateStatus;
 }
 public M4ContainmentVessel(CoffeeMakerAPI api)
 {
     this.api      = api;
     lastPotStatus = WarmerPlateStatus.POT_EMPTY;
 }
 public M4RecipienteDeContencao(ICoffeeMakerApi _api)
 {
     this._api     = _api;
     lastPotStatus = WarmerPlateStatus.POT_EMPTY;
 }