Example #1
0
 public void Poll_WarmerEmptyTurnsOffWarmer(
     [Frozen]Mock<ICoffeeMaker> coffeeMaker,
     WarmerPlate sut)
 {
     sut.Poll(WarmerPlateStatus.WARMER_EMPTY);
     coffeeMaker.Verify(cm => cm.SetWarmerState(WarmerState.OFF));
 }
Example #2
0
 public void Poll_PotNotEmptyTurnsOnWarmer(
     [Frozen]Mock<ICoffeeMaker> coffeeMaker,
     WarmerPlate sut)
 {
     sut.Poll(WarmerPlateStatus.POT_NOT_EMPTY);
     coffeeMaker.Verify(cm => cm.SetWarmerState(WarmerState.ON));
 }
        public void OnNextWarmerEmptyTurnsOffWarmer(
            [Frozen] Mock <ICoffeeMaker> hardwareMock,
            WarmerPlate sut)
        {
            sut.OnNext(WarmerPlateStatus.WARMER_EMPTY);

            hardwareMock.Verify(hw => hw.SetWarmerState(WarmerState.OFF));
            hardwareMock.Verify(
                hw => hw.SetWarmerState(WarmerState.ON),
                Times.Never());
        }
        public void OnNexPotNotEmptyTurnsOnWarmer(
            [Frozen] Mock <ICoffeeMaker> hardwareMock,
            WarmerPlate sut)
        {
            sut.OnNext(WarmerPlateStatus.POT_NOT_EMPTY);

            hardwareMock.Verify(hw => hw.SetWarmerState(WarmerState.ON));
            hardwareMock.Verify(
                hw => hw.SetWarmerState(WarmerState.OFF),
                Times.Never());
        }
 public void OnErrorDoesNotThrowNotImplementedException(
     WarmerPlate sut,
     Exception e)
 {
     try
     {
         sut.OnError(e);
     }
     catch (NotImplementedException)
     {
         Assert.True(false, "NotImplementedException thrown.");
     }
 }
Example #6
0
        static void Main(string[] args)
        {
            var hardware = new CoffeMakerInMemory();

            hardware.SetReliefValveState(ReliefValveState.CLOSED);
            hardware.WarmerPlateStatus = WarmerPlateStatus.POT_EMPTY;

            var buttonEvents = Observable
                               .Interval(TimeSpan.FromSeconds(1))
                               .Select(_ => hardware.GetBrewButtonStatus())
                               .Publish();
            var boilerEvents = Observable
                               .Interval(TimeSpan.FromSeconds(1))
                               .Select(_ => hardware.GetBoilerStatus())
                               .Publish();
            var warmerEvents = Observable
                               .Interval(TimeSpan.FromSeconds(1))
                               .Select(_ => hardware.GetWarmerPlateStatus())
                               .Publish();

            var boiler    = new Boiler(hardware);
            var indicator = new Indicator(hardware);
            var valve     = new ReliefValve(hardware);
            var warmer    = new WarmerPlate(hardware);

            using (buttonEvents.Subscribe(boiler))
                using (buttonEvents.Subscribe(indicator))
                    using (boilerEvents.Subscribe(boiler))
                        using (boilerEvents.Subscribe(indicator))
                            using (warmerEvents.Subscribe(valve))
                                using (warmerEvents.Subscribe(warmer))
                                {
                                    buttonEvents.Connect();
                                    boilerEvents.Connect();
                                    warmerEvents.Connect();

                                    while (!Exit(hardware))
                                    {
                                        WriteHardwareState(hardware);
                                    }
                                }
        }
 public void Initialize()
 {
     _hardware    = new MockHardware();
     _warmerPlate = new WarmerPlate(_hardware);
 }
 public void OnNextWarmerEmptyDoesNotThrow(WarmerPlate sut)
 {
     sut.OnNext(WarmerPlateStatus.WARMER_EMPTY);
 }
 public void OnCompletedDoesNotThrow(WarmerPlate sut)
 {
     sut.OnCompleted();
 }
 public void SutIsObserverOfWarmerPlateStatus(WarmerPlate sut)
 {
     Assert.IsAssignableFrom <IObserver <WarmerPlateStatus> >(sut);
 }
 public void OnNextWarmerEmptyDoesNotThrow(WarmerPlate sut)
 {
     Assert.DoesNotThrow(() => sut.OnNext(WarmerPlateStatus.WARMER_EMPTY));
 }
 public void OnCompletedDoesNotThrow(WarmerPlate sut)
 {
     Assert.DoesNotThrow(() => sut.OnCompleted());
 }