public void GetThermostatList_MalformedStringReturned_ThrowsFhemResponseTimeoutException()
        {
            // Arrange
            _mockTelnet.Setup(x => x.Read()).Returns("<>Garbage Response");

            // Act
            var repository = new ThermostatRepository(_mockTelnet.Object);
            Assert.Throws<FhemResponseTimeoutException>(() => repository.GetThermostatList());
        }
        public void GetThermostatList_EmptyStringReturned_ThrowsFhemEmptyResponseException()
        {
            // Arrange
            _mockTelnet.Setup(x => x.Read()).Returns(string.Empty);

            // Act
            var repository = new ThermostatRepository(_mockTelnet.Object);
            Assert.Throws<FhemEmptyResponseException>(() => repository.GetThermostatList());
        }
        public void GetThermostatList_SingleThermostat_ReturnsThermostat()
        {
            // Arrange
            _mockTelnet.Setup(x => x.Read()).Returns(FhemXmlBuilder.GetThermostatList(1));

            // Act
            var repository = new ThermostatRepository(_mockTelnet.Object);
            var thermostatList = repository.GetThermostatList();

            // Assert
            Assert.AreEqual(1, thermostatList.Count());
        }