Example #1
0
        public void CanSaveToFile()
        {
            var from        = DateTime.Now;
            var to          = from.AddDays(2);
            var thermostat1 = new Thermostat
            {
                Name        = "Thermostat1",
                SecretKey   = "ABC",
                Uuid        = "UUID123",
                Temperature = "encoded-temperature-1",
                UpdatedSetPointTemperature = Temperature.FromDegreesCelcius(22),
                HasUpdatedVacationPeriod   = true,
                UpdatedVacationPeriod      = new Period(from, to)
            };

            var thermostat2 = new Thermostat
            {
                Name        = "Thermostat2",
                SecretKey   = "DEF",
                Temperature = "encoded-temperature-2"
            };

            var thermostats = new Thermostats();

            thermostats.thermostats.Add(thermostat1);
            thermostats.thermostats.Add(thermostat2);

            thermostats.Write();

            var readThermostats = Thermostats.Read();

            Assert.AreEqual(2, readThermostats.thermostats.Count);
            var firstReadThermostat = readThermostats.thermostats[0];

            Assert.AreEqual("Thermostat1", firstReadThermostat.Name);
            Assert.AreEqual("ABC", firstReadThermostat.SecretKey);
            Assert.AreEqual("UUID123", firstReadThermostat.Uuid);
            Assert.AreEqual("encoded-temperature-1", firstReadThermostat.Temperature);
            Assert.AreEqual(22, firstReadThermostat.UpdatedSetPointTemperature.InDegreesCelcius);
            Assert.IsTrue(firstReadThermostat.HasUpdatedVacationPeriod);
            Assert.AreEqual(from, firstReadThermostat.UpdatedVacationPeriod.From);
            Assert.AreEqual(to, firstReadThermostat.UpdatedVacationPeriod.To);
        }