public void Task1HaveActionMethodTest() { var baseLayer = new BaseLayer(); // добавляем две комбинации в таблицу Combinations // событие null потому, что проверяется наличие только действия baseLayer.DssDbContext.Combinations.Local.Add(new Combination { Action = new Action(), Event = null }); baseLayer.DssDbContext.Combinations.Local.Add(new Combination { Action = new Action(), Event = null }); // в случае если действие act уже присутствовало при создании комбинаций действие-событие т.е. данное действие имеется в таблице Combinations var act = baseLayer.DssDbContext.Combinations.Local[0].Action; // вызываем тестируемый метод bool actual = LocalTaskLayer.HaveAction(act, baseLayer.DssDbContext.Combinations.Local); // если в таблице Combinations имеется запись содержащий действие act метод возвратит true Assert.AreEqual(true, actual, "Ошибка, так как данное действие присутствует в таблице Combinations"); // случае если было добавлено новое действие, проверяем имеется ли это действие в таблице Combinations act = new Action(); actual = LocalTaskLayer.HaveAction(act, baseLayer.DssDbContext.Combinations.Local); // если в таблице Combinations не имеется запись метод возвратит false Assert.AreEqual(false, actual, "Ошибка, так как данного действия нет в таблице Combinations"); }
public void Task1LoadCombinationsMethodTest() { var baseLayer = new BaseLayer(); // добавляем одну запись в таблицу Combinations baseLayer.DssDbContext.Combinations.Local.Add(new Combination()); // вызываем тестируюмую функцию LocalTaskLayer.LoadCombinations(baseLayer); // проверяем увеличилось ли количество записей в списке CombinationsList класса LocalTaskLayer Assert.AreEqual(1, LocalTaskLayer.CombinationsList.Count); }
static void window_Closing(object sender, CancelEventArgs e) { var actions = _baseLayer.DssDbContext.Actions.Local; if (actions.Count > 0 && !IsSaved) { var result = MessageBox.Show("Cохранить текущее решение?", "Внимание", System.Windows.MessageBoxButton.YesNoCancel); if (result == System.Windows.MessageBoxResult.Yes) { _baseLayer.DssDbContext.CombinParams.Local.Clear(); LocalTaskLayer.CreateFictiveCombinations(_baseLayer, _taskLayer); _baseLayer.Task.Date = DateTime.Now; _baseLayer.Task.Recommendation = "Задача решена не полностью."; _baseLayer.BaseMethods.AddTask(_baseLayer.Task); _baseLayer.Save(); } if (result == System.Windows.MessageBoxResult.Cancel) { e.Cancel = true; } } }
public void Task1CreateCombinationsMethodTest() { // входным параметром для данного метода выступает // объект (экземпляр) класса BaseLayer // см. класс DecisionSupportSystem.Task_1.LocalTaskLayer метод CreateCombinations(BaseLayer baseLayer) // далее выполняется заполнение этого объекта (baseLayer) необходимыми для теста данными var baseLayer = new BaseLayer(); baseLayer.Task = new Task(); baseLayer.DssDbContext.Actions.Local.Add(new Action { Name = "A1" }); baseLayer.DssDbContext.Actions.Local.Add(new Action { Name = "A2" }); baseLayer.DssDbContext.Events.Local.Add(new Event { Name = "E1" }); baseLayer.DssDbContext.Events.Local.Add(new Event { Name = "E2" }); // заполнение здесь заканчивается страшного ничего нет :))) // baseLayer имеет ссылку (DssDbContext) на нашу модель БД (DbModel) // используя эту ссылку мы добавили по две записи в таблицы Actions и Events // далее создаем список комбинаций действие событие, которые мы ожидаем получить var expected = new List <CombinationTest>(); expected.Add(new CombinationTest { ActionName = "A1", EventName = "E1" }); expected.Add(new CombinationTest { ActionName = "A1", EventName = "E2" }); expected.Add(new CombinationTest { ActionName = "A2", EventName = "E1" }); expected.Add(new CombinationTest { ActionName = "A2", EventName = "E2" }); // ключевой момент вызов нашей тестируемой функции LocalTaskLayer.CreateCombinations(baseLayer); // все наша функция отработала // получаем комбинации используя ту же ссылку на нашу модель БД // список actual будет содержать список сгенерированных комбинации действие событие var actual = baseLayer.DssDbContext.Combinations.Local.ToList(); // ПРОВЕРКА количества созданных комбинаций Assert.AreEqual(4, actual.Count); // ПРОВЕРКА правильности созданных комбинаций if (actual.Count == 4) { for (int i = 0; i < 4; i++) { Assert.AreEqual(expected[i].ActionName, actual[i].Action.Name); Assert.AreEqual(expected[i].EventName, actual[i].Event.Name); } } }