public void Remove_ThorwsNotFoundExceptionTest()
        {
            TestHelper.ClearDatabase(options);

            int             id      = -1;
            TaskTreeManager manager = new TaskTreeManager(options);

            Action act = () => manager.Remove(id);

            Assert.Throws <NotFoundException>(act);
        }
        public void Remove_ThrowsNonTerminalExceptionTest()
        {
            TestHelper.ClearDatabase(options);

            TaskNote[]      tasks = { new TaskNote {
                                          Name = "1"
                                      }, new TaskNote   {
                                          Name = "2"
                                      } };
            TaskTreeManager manager = new TaskTreeManager(options);

            manager.Add(tasks[0]);
            manager.Add(tasks[1], tasks[0]);
            Action act = () => manager.Remove(tasks[0].Id);

            Assert.Throws <NonTerminalException>(act);
        }
        public void Remove_RemoveTerminalTaskTest()
        {
            TestHelper.ClearDatabase(options);

            TaskNote[]      tasks = { new TaskNote {
                                          Name = "1"
                                      }, new TaskNote   {
                                          Name = "2"
                                      } };
            TaskTreeManager manager = new TaskTreeManager(options);

            manager.Add(tasks[0]);
            manager.Add(tasks[1], tasks[0]);
            manager.Remove(tasks[1].Id);

            Assert.Null(manager.Find(tasks[1].Id));
            Assert.Empty(manager.GetDescendants(tasks[0].Id));
        }