public void FinamCreatingTest() { FinamPosition test = new FinamPosition("vtb"); // Проверка позиции на правильность. // Для того, чтобы позиция была корректной, она должна содержать // Значение даты на текущий момента, значение цены, а так же значение валюты // Проверяем, что значения отличаются от значений по умолчанию Assert.NotEqual(0.0, test.CurrentCost); Assert.NotEqual(string.Empty, test.Currency); // Проверяем, что дата соответстует дате проведения теста (без времени) Assert.Equal(DateTime.Now.Date, test.LastUpdate.Date); }
static void Main(string[] args) { const string source = "Sber"; Settings appSettings = SettingsHandler.GetSettings("develop"); PositionDictionary dict = new PositionDictionary(appSettings, source); List <string> namesOfPosition = new List <string>() { "vtb", "aeroflot", "gazprom", "nornickel-gmk", "lukoil" }; // Проверка, есть ли позиции, которые перечислены в списке позиций, в словаре для конкретного источника данных foreach (string name in namesOfPosition) { if (!dict.Contains(name)) { Console.WriteLine($"Для словаря {source} отсутствует ключ {name}"); Console.WriteLine($"Для продолжения осуществите ввод значения, которое соответствует ключe {name} для словаря {source}"); string value = Console.ReadLine(); if (dict.Validate(value)) { dict[name] = value; } else { Console.WriteLine($"Введенное значение '{value}' не прошло валидацию и не будет добавлено в справочник"); } } } // Если в словарь были применены изменения - провести сохранение данных изменений if (dict.IsChanged) { dict.SaveData(); } foreach (string name in namesOfPosition) { FinamPosition test = new FinamPosition(name); Console.WriteLine(test); } }