public void Map_FromSampleData_ToUser()
        {
            // Arrange
            string sampleData   = SampleDataHelper.LoadSampleData("Example.GetUser.json");
            var    userResponse = JsonConvert.DeserializeObject <UserResponse>(sampleData);

            // Act
            User user = UserResponseMapper.Map(userResponse);

            // Assert
            Assert.IsNotNull(user);

            Assert.IsNotNull(user.DeviceIds, "DeviceIds");
            Assert.AreEqual("70:ee:50:03:78:3a", user.DeviceIds[0], "DeviceIds[0]");
            Assert.AreEqual("*****@*****.**", user.Email, "Email");
            Assert.AreEqual("537765721d7759e9f70c6609", user.Id, "Id");
            Assert.IsNotNull(user.UserAdministrativeInfo, "UserAdministrativeInfo");

            // UserAdministrativeInfo
            Assert.AreEqual("GB", user.UserAdministrativeInfo.Country, "UserAdministrativeInfo.Country");
            Assert.AreEqual(0, user.UserAdministrativeInfo.FeelLikeAlgorithm, "UserAdministrativeInfo.FeelLikeAlgorithm");
            Assert.AreEqual("en-US", user.UserAdministrativeInfo.Language, "UserAdministrativeInfo.Language");
            Assert.AreEqual(0, user.UserAdministrativeInfo.PressureUnit, "UserAdministrativeInfo.PressureUnit");
            Assert.AreEqual("en", user.UserAdministrativeInfo.RegLocale, "UserAdministrativeInfo.RegLocale");
            Assert.AreEqual(0, user.UserAdministrativeInfo.Unit, "UserAdministrativeInfo.Unit");
            Assert.AreEqual(1, user.UserAdministrativeInfo.WindUnit, "UserAdministrativeInfo.WindUnit");
        }
Example #2
0
        public void Populate_FromSampleData_WithoutRainMeasurements(string fileName)
        {
            // Arrange
            // Data expected to be returned from Netatmo api.
            string sampleData = SampleDataHelper.LoadSampleData(fileName);

            // Act
            var publicDataResponse = JsonConvert.DeserializeObject <PublicDataResponse>(sampleData);

            // Assert
            Assert.AreEqual("ok", publicDataResponse.status, "status");

            var body = publicDataResponse.body;

            Assert.IsNotNull(body, "body");
            Assert.AreEqual(544, body.Count);

            // Expect 204 rain sensor modules
            var rainModules = FindRainModules(body);

            Assert.AreEqual(203, rainModules.Count, "rainModules.Count");

            var rainMeasurementModule = FindModule(body, ModuleKeyWithRain);

            Assert.IsNotNull(rainMeasurementModule, "Expected to find rain module measurement.");

            // Rain module before it had rained
            var rainMeasurement = rainMeasurementModule.Value;

            Assert.AreEqual(0m, rainMeasurement.rain_live, "Rain live - not raining");
            Assert.AreEqual(0m, rainMeasurement.rain_24h, "rain_24h");
            Assert.AreEqual(0m, rainMeasurement.rain_60min, "rain_60min");
            Assert.AreEqual(1436098504, rainMeasurement.rain_timeutc, "rain_timeutc");
        }
Example #3
0
        public void DeserializeSampeData_SetsExpectedProperties(string fileName)
        {
            // Arrange
            string sampleData = SampleDataHelper.LoadSampleData(fileName);

            // Act
            var userResponse = JsonConvert.DeserializeObject <UserResponse>(sampleData);

            // Assert
            Assert.AreEqual("ok", userResponse.status, "status");
            AssertBody(userResponse.body);
        }
Example #4
0
        public void Populate_FromSampleData_WithRainMeasurements(string fileName)
        {
            // Arrange

            // Data expected to be returned from Netatmo api.
            // Total number of stations: 543
            // Number of stations with rain gauge: 204
            string sampleData = SampleDataHelper.LoadSampleData(fileName);

            // Act
            var publicDataResponse = JsonConvert.DeserializeObject <PublicDataResponse>(sampleData);

            // Assert
            Assert.AreEqual("ok", publicDataResponse.status, "status");

            var body = publicDataResponse.body;

            Assert.IsNotNull(body, "body");
            Assert.AreEqual(543, body.Count);

            // Expect 204 fain modules.
            var rainModules = FindRainModules(body);

            Assert.AreEqual(204, rainModules.Count, "rainModules.Count");

            ShowModules(rainModules);

            // Rain Module.
            var rainMeasurementModule = FindModule(body, ModuleKeyWithRain);

            Assert.IsNotNull(rainMeasurementModule, "Expected to find rain module measurement.");

            // Rain module whilst it was raining.
            var rainMeasurement = rainMeasurementModule.Value;

            Assert.AreEqual(0.808m, rainMeasurement.rain_live, "Rain live");
            Assert.AreEqual(1.212m, rainMeasurement.rain_24h, "rain_24h");
            Assert.AreEqual(1.212m, rainMeasurement.rain_60min, "rain_60min");
            Assert.AreEqual(1436109640, rainMeasurement.rain_timeutc, "rain_timeutc");
        }
Example #5
0
        public void Populate_FromSampleData_SetsStationProperties(string fileName)
        {
            // Arrange
            // Data expected to be returned from Netatmo api.
            // Total number of stations: 543
            // Number of stations with rain gauge: 204
            string sampleData = SampleDataHelper.LoadSampleData(fileName);

            // Act
            var publicDataResponse = JsonConvert.DeserializeObject <PublicDataResponse>(sampleData);

            // Assert
            Assert.AreEqual("ok", publicDataResponse.status, "status");

            var body = publicDataResponse.body;

            Assert.IsNotNull(body, "body");
            Assert.AreEqual(543, body.Count);

            // Just assert on the first item.
            PublicDataResponseItem publicDataResponseItem = body.First(x => x._id == StationId);

            // {"_id":"70:ee:50:06:bb:22",
            Assert.AreEqual(StationId, publicDataResponseItem._id, "_id");

            AssertPlace(publicDataResponseItem);

            // Assert measures.
            Assert.IsNotNull(publicDataResponseItem.measures, "measures");
            Assert.AreEqual(3, publicDataResponseItem.measures.Count, "measures.Count");

            AssertOutsideModule(publicDataResponseItem);

            AssertRainModule(publicDataResponseItem);

            AssertPressureModule(publicDataResponseItem);

            AssertModules(publicDataResponseItem);
        }