public void Test_WhenUnknownSwitch_ThenDoNothing(AbstractSwitchEvent @event) { var switchControllerMock = new Mock <ISwitchController>(MockBehavior.Strict); switchControllerMock.Setup(cntr => cntr.CanHandleSwitch(It.IsAny <SwitchId>())).Returns(false); var eventsSourceMock = new Mock <IEventSource>(MockBehavior.Strict); eventsSourceMock.Setup(e => e.ReceiveEvents <AbstractSwitchEvent>()).Returns(Observable.Repeat(@event, 1)); var handler = new SwitchEventsProcessor(switchControllerMock.Object, eventsSourceMock.Object, Mock.Of <ILogger>()); handler.Run(CancellationToken.None); switchControllerMock.Verify(sc => sc.CanHandleSwitch(@event.SwitchId), Times.Once); switchControllerMock.Verify(sc => sc.SetPower(It.IsAny <SwitchId>(), It.IsAny <double>()), Times.Never); switchControllerMock.Verify(sc => sc.TurnOff(It.IsAny <SwitchId>()), Times.Never); switchControllerMock.Verify(sc => sc.TurnOn(It.IsAny <SwitchId>()), Times.Never); }
public void TestTurnOff() { var swicthId = SwitchId.NewId(); var offEvent = new TurnOffEvent(swicthId); var switchControllerMock = new Mock <ISwitchController>(MockBehavior.Strict); switchControllerMock.Setup(cntr => cntr.CanHandleSwitch(swicthId)).Returns(true); switchControllerMock.Setup(cntr => cntr.TurnOff(swicthId)); var eventsSourceMock = new Mock <IEventSource>(MockBehavior.Strict); eventsSourceMock.Setup(e => e.ReceiveEvents <AbstractSwitchEvent>()).Returns(Observable.Repeat(offEvent, 1)); var handler = new SwitchEventsProcessor(switchControllerMock.Object, eventsSourceMock.Object, Mock.Of <ILogger>()); handler.Run(CancellationToken.None); switchControllerMock.Verify(sc => sc.CanHandleSwitch(swicthId), Times.Once); switchControllerMock.Verify(sc => sc.TurnOff(swicthId), Times.Once); }