public void CreateProblem(string text) { var newProblem = new CreateProblemContainer(SqliteDb.GetInstance(), text, true).Container; Problems.Add(newProblem); CurrentProblem = newProblem; }
public void NewProblemContainer() { IRootCauseDb db = new NullDb(); var command = new CreateProblemContainer(db, "This is a problem"); command.Execute(); ProblemContainer container = command.Container; Node problem = container.InitialProblem; Assert.AreEqual("This is a problem", problem.Text); Assert.AreEqual(0, container.CountUndoActions()); Assert.AreEqual(0, container.CountRedoActions()); IRootCauseCommand add = new AddNodeCommand(db, problem, "Cause 1"); container.AddAction(add); Assert.AreEqual(true, add.Executed); Assert.AreEqual(1, container.CountUndoActions()); Assert.AreEqual(0, container.CountRedoActions()); Assert.AreEqual(1, problem.CountChildNodes()); add = new AddNodeCommand(db, problem, "Cause 2", true); container.AddAction(add); Assert.AreEqual(true, add.Executed); Assert.AreEqual(2, container.CountUndoActions()); Assert.AreEqual(0, container.CountRedoActions()); Assert.AreEqual(2, problem.CountChildNodes()); container.Undo(); Assert.AreEqual(1, container.CountUndoActions()); Assert.AreEqual(1, container.CountRedoActions()); Assert.AreEqual(1, problem.CountChildNodes()); container.Redo(); Assert.AreEqual(2, container.CountUndoActions()); Assert.AreEqual(0, container.CountRedoActions()); Assert.AreEqual(2, problem.CountChildNodes()); container.Undo(); add = new AddNodeCommand(db, problem, "Cause 3", true); container.AddAction(add); Assert.AreEqual(2, container.CountUndoActions()); Assert.AreEqual(0, container.CountRedoActions()); Assert.AreEqual(2, problem.CountChildNodes()); }
public void ContainerRedoWithNoActions() { var container = new CreateProblemContainer(new NullDb(), "This is a problem", true).Container; container.Redo(); }
public void CreateContainerImmediately() { var command = new CreateProblemContainer(new NullDb(), "This is a problem", true); Assert.AreEqual(true, command.Executed); }