public void RemoveChild()
        {
            Task parent = new Task();
            Task child_1 = new Task();
            Task child_2 = new Task();

            parent.AddChild(child_1);
            parent.AddChild(child_2);

            parent.RemoveChild(child_1);

            Assert.That(parent.Children.Count, Is.EqualTo(1));
            Assert.That(parent.Children.Contains(child_2));
            Assert.That(child_1.Parent, Is.Null);
        }
        public void Remove_And_Add_Child()
        {
            Task parent = new Task();
            Task child_1 = new Task();
            Task child_2 = new Task();

            parent.AddChild(child_1);
            parent.AddChild(child_2);

            parent.RemoveChild(child_1);
            parent.AddChild(child_1);

            Assert.That(parent.Children.Count, Is.EqualTo(2));
            Assert.That(parent.Children.Contains(child_1));
            Assert.That(parent.Children.Contains(child_2));
            Assert.That(child_1.Parent, Is.EqualTo(parent));

            Assert.That(child_1.Sequence, Is.EqualTo(3));
        }