示例#1
0
        public void WhenParentIsNotRoot_DecreaseShouldNotSkipOtherStatus()
        {
            var openTask = new Task
            {
                Title = "Title"
            };

            openTask.Open();

            var closedTask1 = new Task
            {
                Title = "Title"
            };

            closedTask1.Close();

            var closedTask2 = new Task
            {
                Title = "Title"
            };

            closedTask2.Close();

            var parent = new Task
            {
                Title = "Title"
            };

            var parentId  = _sut.AddTask(parent);
            var idClosed1 = _sut.AddSubTask(closedTask1, parentId);

            _sut.AddSubTask(openTask, parentId);
            _sut.AddSubTask(closedTask2, parentId);

            _sut.DecreasePriority(idClosed1);
            var fetchedParentTask = _sut.GetTaskById(parentId);

            Assert.AreEqual(3, fetchedParentTask.SubTasks.Count);
            Assert.AreEqual(openTask, fetchedParentTask.SubTasks[0]);
            Assert.AreEqual(closedTask1, fetchedParentTask.SubTasks[1]);
            Assert.AreEqual(closedTask2, fetchedParentTask.SubTasks[2]);
        }