예제 #1
0
        public void RemoveRadioChannel_Should_Throw_Exception_When_Non_Existing_Id()
        {
            // Arrange
            var miioDevice  = new Mock <IMiioTransport>();
            var miioGateway = new MiioGateway(miioDevice.Object);

            miioDevice.Setup(x => x.SendMessage(It.Is <string>(s => s.Contains("get_channels"))))
            .Returns("{\"result\":{\"chs\":[" +
                     "{\"id\":1025,\"type\":0,\"url\":\"http://192.168.1.1/radio1.m3u8\"}," +
                     "{\"id\":1026,\"type\":0,\"url\":\"http://192.168.1.1/radio2.m3u8\"}," +
                     "{\"id\":1027,\"type\":0,\"url\":\"http://192.168.1.1/radio3.m3u8\"}," +
                     "]}}");

            // Act & Assert
            Assert.Throws <ArgumentException>(() => miioGateway.RemoveRadioChannel(1045));
        }
예제 #2
0
        public void RemoveRadioChannel_Should_Not_Throw_Exceptions()
        {
            // Arrange
            var miioDevice  = new Mock <IMiioTransport>();
            var miioGateway = new MiioGateway(miioDevice.Object);

            miioDevice.Setup(x => x.SendMessage(It.Is <string>(s => s.Contains("get_channels"))))
            .Returns("{\"result\":{\"chs\":[" +
                     "{\"id\":1025,\"type\":0,\"url\":\"http://192.168.1.1/radio1.m3u8\"}," +
                     "{\"id\":1026,\"type\":0,\"url\":\"http://192.168.1.1/radio2.m3u8\"}," +
                     "{\"id\":1027,\"type\":0,\"url\":\"http://192.168.1.1/radio3.m3u8\"}," +
                     "]}}");

            miioDevice.Setup(x => x.SendMessage(It.Is <string>(s => s.Contains("remove_channels"))))
            .Returns("{\"result\":[\"ok\"],\"id\":2}");

            // Act
            miioGateway.RemoveRadioChannel(1027);

            // Assert
            var msg = "{\"id\": 2, \"method\": \"remove_channels\", \"params\": {\"chs\":[{\"id\":1027,\"url\":\"http://192.168.1.1/radio3.m3u8\",\"type\":0}]}}";

            miioDevice.Verify(x => x.SendMessage(msg), Times.Once());
        }