public void TestMineHistoricWeatherValues() { // Arrange var regionSubUrl = "us/nj/princeton"; string smartGridRegionName = "PJM"; var timeZone = "Eastern Standard Time"; var regionLat = 40.348444276169; var regionLong = -74.6428556442261; var startDateTime = DateTime.Now.AddDays(-3); var endDateTime = DateTime.Now.AddDays(-1); var wundergroundApiUrl = CloudConfigurationManager.GetSetting("WundergroundApiUrl"); var wundergroundApiKey = CloudConfigurationManager.GetSetting("WundergroundApiKey"); var selfThrottlingMethod = "AzureTableStorageCallRecollection"; var maxNumberOfCallsPerMinute = 5; int regionId; using (var _objectModel = new SmartEnergyOM(databaseConnectionString)) { regionId = _objectModel.AddWeatherRegion(smartGridRegionName, timeZone, regionLat, regionLong).WeatherRegionID; } var wundergroundWeatherInteraction = new WundergroundWeatherInteraction( selfThrottlingMethod, maxNumberOfCallsPerMinute); WeatherDataMiner weatherDataMiner = new WeatherDataMiner( wundergroundApiUrl, wundergroundApiKey, selfThrottlingMethod, databaseConnectionString, maxNumberOfCallsPerMinute, wundergroundWeatherInteraction); // Act weatherDataMiner.MineHistoricWeatherValues(startDateTime, endDateTime, regionSubUrl, regionId); // Assert // Verify that each data point has been recorded in the database var results = wundergroundWeatherInteraction.GetHistoricWeatherData( wundergroundApiUrl, regionSubUrl, wundergroundApiKey, startDateTime, endDateTime); using (var _objectModel = new SmartEnergyOM(databaseConnectionString)) { foreach (var result in results) { var dataPoint = _objectModel.FindWeatherDataPoints(regionId, result.observationDateTime); Assert.IsNotNull(dataPoint); } } }
public void TestMineHistoricWeatherValues_ByWundergroundLocationName() { // Arrange var regionSubUrl = "Norway/Kristiansand"; var smartGridRegionName = "Norway_Kristiansand"; var timeZone = "Central European Standard Time"; var regionLat = 58.24158635676374; var regionLong = 8.096923830624974; var startDateTime = new DateTime(2017, 1, 1); // DateTime.Now.AddDays(-10); var endDateTime = new DateTime(2017, 2, 1); // var startDateTime = DateTime.Now.AddDays(-1); var wundergroundApiUrl = CloudConfigurationManager.GetSetting("WundergroundApiUrl"); var wundergroundApiKey = CloudConfigurationManager.GetSetting("WundergroundApiKey"); var selfThrottlingMethod = "AzureTableStorageCallRecollection"; var maxNumberOfCallsPerMinute = 5; int regionId; using (var _objectModel = new SmartEnergyOM(databaseConnectionString)) { regionId = _objectModel.AddWeatherRegion(smartGridRegionName, timeZone, regionLat, regionLong, regionSubUrl).WeatherRegionID; } var wundergroundWeatherInteraction = new WundergroundWeatherInteraction( selfThrottlingMethod, maxNumberOfCallsPerMinute); WeatherDataMiner weatherDataMiner = new WeatherDataMiner( wundergroundApiUrl, wundergroundApiKey, selfThrottlingMethod, databaseConnectionString, maxNumberOfCallsPerMinute, wundergroundWeatherInteraction); // Act weatherDataMiner.MineHistoricWeatherValues(startDateTime, endDateTime, regionSubUrl, regionId); // Assert // Verify that each data point has been recorded in the database var results = wundergroundWeatherInteraction.GetHistoricWeatherData( wundergroundApiUrl, regionSubUrl, wundergroundApiKey, startDateTime, endDateTime); using (var _objectModel = new SmartEnergyOM(databaseConnectionString)) { foreach (var result in results) { var dataPoint = _objectModel.FindWeatherDataPoint(regionId, result.observationDateTime); Assert.IsNotNull(dataPoint); } } }
public void TestMineHistoricWeatherValues_ByGPS() { // Arrange var startDateTime = new DateTime(2017, 1, 1); // DateTime.Now.AddDays(-10); var endDateTime = new DateTime(2017, 1, 2); // var startDateTime = DateTime.Now.AddDays(-1); var latitude = 58.279231; var longtitude = 6.892410; var smartGridRegionName = "Norway_Oye"; var timeZone = "Central European Standard Time"; var wundergroundApiUrl = CloudConfigurationManager.GetSetting("WundergroundApiUrl"); var wundergroundApiKey = CloudConfigurationManager.GetSetting("WundergroundApiKey"); var selfThrottlingMethod = "AzureTableStorageCallRecollection"; var maxNumberOfCallsPerMinute = 5; int regionId; using (var _objectModel = new SmartEnergyOM(databaseConnectionString)) { regionId = _objectModel.AddWeatherRegion(smartGridRegionName, timeZone, latitude, longtitude, null).WeatherRegionID; } var wundergroundWeatherInteraction = new WundergroundWeatherInteraction( selfThrottlingMethod, maxNumberOfCallsPerMinute); WeatherDataMiner weatherDataMiner = new WeatherDataMiner( wundergroundApiUrl, wundergroundApiKey, selfThrottlingMethod, databaseConnectionString, maxNumberOfCallsPerMinute, wundergroundWeatherInteraction); // Act weatherDataMiner.MineHistoricWeatherValues(startDateTime, endDateTime, latitude, longtitude, regionId); // Assert }