Exemple #1
0
        public void CreateProblem(string text)
        {
            var newProblem = new CreateProblemContainer(SqliteDb.GetInstance(), text, true).Container;

            Problems.Add(newProblem);
            CurrentProblem = newProblem;
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        public void ContainerRedoWithNoActions()
        {
            var container = new CreateProblemContainer(new NullDb(), "This is a problem", true).Container;

            container.Redo();
        }
Exemple #4
0
        public void CreateContainerImmediately()
        {
            var command = new CreateProblemContainer(new NullDb(), "This is a problem", true);

            Assert.AreEqual(true, command.Executed);
        }