public async Task SetPowerLevel_ForSimpleDevice_SendsTurnsOn() { // Arrange string messageId = "Message12"; var request = BuildRequest(messageId, "SetPowerLevel", "Endpoint1"); List <DeviceDto> devices = new List <DeviceDto> { new DeviceDto { DisplayName = "Device 1" } }; var devicesClient = new FakeDevicesClient(devices); var measurementsClient = new FakeMeasurementsClient(); var statusClient = new FakeStatusClient(); var controller = new PowerLevelController(devicesClient, measurementsClient, statusClient); // Act PowerControlResponse response = (PowerControlResponse)await controller.HandleAlexaRequest(request, null); // Assert Assert.IsNotNull(response); Assert.AreEqual("@Switch Set powerlevel 20", statusClient.SentMessage); }
public async Task SetPercentage_ForMultiPortDevice_TurnOn_Port1_SendsTurnOnPort1() { // Arrange string messageId = "Message12"; var device = new DeviceDto { Id = "Endpoint1" }; var deviceAndPort = new DeviceAndPort(device, 1); var request = BuildRequest(messageId, "SetPercentage", deviceAndPort.ToString()); List <DeviceDto> devices = new List <DeviceDto> { new DeviceDto { DisplayName = "Device 1" } }; var devicesClient = new FakeDevicesClient(devices); var measurementsClient = new FakeMeasurementsClient(); var statusClient = new FakeStatusClient(); var controller = new PercentageController(devicesClient, measurementsClient, statusClient); // Act PowerControlResponse response = (PowerControlResponse)await controller.HandleAlexaRequest(request, null); // Assert Assert.IsNotNull(response); Assert.AreEqual("@Switch Set percentage 110 port-1", statusClient.SentMessage); }
public async Task CookByTime_ForSimpleDevice_SendsTurnsOn() { // Arrange string messageId = "Message12"; var request = BuildRequest(messageId, "CookByTime", "Endpoint1"); List <DeviceDto> devices = new List <DeviceDto> { new DeviceDto { DisplayName = "Device 1" } }; var devicesClient = new FakeDevicesClient(devices); var measurementsClient = new FakeMeasurementsClient(); var statusClient = new FakeStatusClient(); var controller = new CookingTimeController(devicesClient, measurementsClient, statusClient); // Act CookTimeControlResponse response = (CookTimeControlResponse)await controller.HandleAlexaRequest(request, null); // Assert Assert.IsNotNull(response); Assert.AreEqual("@Switch Cook by time PT3M", statusClient.SentMessage); }