// Конструктор (список городов для мониторинга погоды, промежуток сбора // погодных данных, путь до файла с логами, список строк подключения к БД) public WeatherBot(List<City> citylist, int timeout, LittleLogger logger, List<string> cnctstrlist) { CityList = citylist; TimeOut = timeout; Logger = logger; CnctStrList = cnctstrlist; wReader = new WeatherReader(Logger); wWriter = new WeatherWriter(Logger); }
public void WeatherBotTest() { // Строки подключения к БД List<string> cnctstrlist = new List<string>(); //Создаем подключение к БД и чистим таблицы БД EntityConnectionStringBuilder ConnectionString = new EntityConnectionStringBuilder(); ConnectionString.ProviderConnectionString = @"data source=../../Test_Data/WeatherBotTest/YahooWeatherDB.sqlite"; ConnectionString.Provider = @"System.Data.SQLite"; ConnectionString.Metadata = @"res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl"; cnctstrlist.Add(ConnectionString.ToString()); LittleLogger logger = new LittleLogger("../../Test_Data/WeatherBotTest/log.txt"); WeatherWriter wWriter = new WeatherWriter(logger); wWriter.ClearData(ConnectionString.ToString()); ConnectionString.ProviderConnectionString = @"data source=../../Test_Data/WeatherBotTest/YandexWeatherDB.sqlite"; cnctstrlist.Add(ConnectionString.ToString()); wWriter.ClearData(ConnectionString.ToString()); // Формируем список городов для мониторинга // погодных данных List<City> CityList = new List<City>(); Dictionary<string, string> idlist = new Dictionary<string, string>(); // Челябинск idlist["Yahoo"] = "1997422"; idlist["Yandex"] = "28642"; City city1 = new City("Челябинск", idlist); CityList.Add(city1); // Москва idlist["Yahoo"] = "2122265"; idlist["Yandex"] = "27612"; City city2 = new City("Москва", idlist); CityList.Add(city2); // Самара idlist["Yahoo"] = "2077746"; idlist["Yandex"] = "28807"; City city3 = new City("Самара", idlist); CityList.Add(city3); // Интервал сбора погодных данных int timeout = 0; // Создаем погодного бота для одноразовго сбора погодных данных WeatherBot wBot = new WeatherBot(CityList, timeout, logger, cnctstrlist); wBot.Start(); }
public void SaveWeatherToDBTest_1() { //Создаем подключение к БД и чистим таблицы БД EntityConnectionStringBuilder ConnectionString = new EntityConnectionStringBuilder(); ConnectionString.ProviderConnectionString = @"data source=../../Test_Data/SaveWeatherToDBTest_1/testDB.sqlite"; ConnectionString.Provider = @"System.Data.SQLite"; ConnectionString.Metadata = @"res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl"; LittleLogger logger = new LittleLogger("../../Test_Data/SaveWeatherToDBTest_1/log.txt"); WeatherWriter wWriter = new WeatherWriter(logger); wWriter.ClearData(ConnectionString.ToString()); // Формируем погодные данные для записи в таблицы БД WeatherService wService = new WeatherService(logger); wService.WeatherData.Add("Date", "Tue, 17 Jun 2014 12:29 pm MSK"); wService.WeatherData.Add("Temperature", "17C"); wService.WeatherData.Add("Pressure", "982.05millibars"); wService.WeatherData.Add("Wetness", "52%"); wService.WeatherData.Add("Wind", "Direction: 210deegres. | 25.75km/h"); wService.WeatherData.Add("Clouds", "Mostly Cloudy"); // Сохраняем погодные данные в таблицы БД wWriter.City1Save(ConnectionString.ToString(), wService.WeatherData); wWriter.City2Save(ConnectionString.ToString(), wService.WeatherData); wWriter.City3Save(ConnectionString.ToString(), wService.WeatherData); // Создаем подключение к БД и извлекаем данные из таблиц WeatherDBEntity WeatherDB = new WeatherDBEntity(ConnectionString.ToString()); // Данные из 1-ой таблицы WeatherService wService_t1 = new WeatherService(logger); wService_t1.WeatherData.Add("Date", WeatherDB.City1Entity.ToList<City1Entity>()[0].Date); wService_t1.WeatherData.Add("Temperature", WeatherDB.City1Entity.ToList<City1Entity>()[0].Temperature); wService_t1.WeatherData.Add("Pressure", WeatherDB.City1Entity.ToList<City1Entity>()[0].Pressure); wService_t1.WeatherData.Add("Wetness", WeatherDB.City1Entity.ToList<City1Entity>()[0].Wetness); wService_t1.WeatherData.Add("Wind", WeatherDB.City1Entity.ToList<City1Entity>()[0].Wind); wService_t1.WeatherData.Add("Clouds", WeatherDB.City1Entity.ToList<City1Entity>()[0].Clouds); // Данные из 2-ой таблицы WeatherService wService_t2 = new WeatherService(logger); wService_t2.WeatherData.Add("Date", WeatherDB.City2Entity.ToList<City2Entity>()[0].Date); wService_t2.WeatherData.Add("Temperature", WeatherDB.City2Entity.ToList<City2Entity>()[0].Temperature); wService_t2.WeatherData.Add("Pressure", WeatherDB.City2Entity.ToList<City2Entity>()[0].Pressure); wService_t2.WeatherData.Add("Wetness", WeatherDB.City2Entity.ToList<City2Entity>()[0].Wetness); wService_t2.WeatherData.Add("Wind", WeatherDB.City2Entity.ToList<City2Entity>()[0].Wind); wService_t2.WeatherData.Add("Clouds", WeatherDB.City2Entity.ToList<City2Entity>()[0].Clouds); // Данные из 3-ой таблицы WeatherService wService_t3 = new WeatherService(logger); wService_t3.WeatherData.Add("Date", WeatherDB.City3Entity.ToList<City3Entity>()[0].Date); wService_t3.WeatherData.Add("Temperature", WeatherDB.City3Entity.ToList<City3Entity>()[0].Temperature); wService_t3.WeatherData.Add("Pressure", WeatherDB.City3Entity.ToList<City3Entity>()[0].Pressure); wService_t3.WeatherData.Add("Wetness", WeatherDB.City3Entity.ToList<City3Entity>()[0].Wetness); wService_t3.WeatherData.Add("Wind", WeatherDB.City3Entity.ToList<City3Entity>()[0].Wind); wService_t3.WeatherData.Add("Clouds", WeatherDB.City3Entity.ToList<City3Entity>()[0].Clouds); // Сравниваем ожидаемые и фактические значения CollectionAssert.AreEqual(wService.WeatherData, wService_t1.WeatherData); CollectionAssert.AreEqual(wService.WeatherData, wService_t2.WeatherData); CollectionAssert.AreEqual(wService.WeatherData, wService_t3.WeatherData); }