public void Test_SetPower_ChangesAdapterLevel(byte fullPower, byte zeroPower, double requestedPower, byte expectedLevel) { var configRepositoryMock = new Mock <INooliteSwitchInfoRepository>(MockBehavior.Strict); var config = new NooliteSwitchInfo { SwitchId = SwitchId.NewId(), Channel = 98, FullPowerLevel = fullPower, ZeroPowerLevel = zeroPower }; configRepositoryMock .Setup(repository => repository.ContainsConfig(config.SwitchId)) .Returns(Task.FromResult(true)); configRepositoryMock .Setup(repository => repository.GetConfig(config.SwitchId)) .Returns(Task.FromResult(config)); var adapterMock = new Mock <IPC11XXAdapter>(MockBehavior.Strict); adapterMock.Setup(adapter => adapter.SendCommand(PC11XXCommand.SetLevel, config.Channel, expectedLevel)); var controller = new NooliteSwitchController(configRepositoryMock.Object, adapterMock.Object); controller.SetPower(config.SwitchId, requestedPower); adapterMock.Verify(adapter => adapter.SendCommand(PC11XXCommand.SetLevel, config.Channel, expectedLevel), Times.Once); }
public void Test_TurnOff_SendsAdapterOffCommand() { var switchId = SwitchId.NewId(); var configRepositoryMock = new Mock <INooliteSwitchInfoRepository>(MockBehavior.Strict); var adapterMock = new Mock <IPC11XXAdapter>(); var config = new NooliteSwitchInfo { Channel = 98 }; configRepositoryMock .Setup(repository => repository.ContainsConfig(switchId)) .Returns(Task.FromResult(true)); configRepositoryMock .Setup(repository => repository.GetConfig(switchId)) .Returns(Task.FromResult(config)); var controller = new NooliteSwitchController(configRepositoryMock.Object, adapterMock.Object); controller.TurnOff(switchId); adapterMock.Verify(adapter => adapter.SendCommand(PC11XXCommand.Off, config.Channel, 0), Times.Once); }