public void ChangeParent() { Task parent_1 = new Task(); Task parent_2 = new Task(); Task child = new Task(); parent_1.AddChild(child); Assert.That(child.Parent, Is.EqualTo(parent_1)); Assert.That(parent_1.Children.Count, Is.EqualTo(1)); Assert.That(parent_1.Children.Contains(child)); child.ChangeParent(parent_2); Assert.That(child.Parent, Is.EqualTo(parent_2)); Assert.That(parent_1.Children.IsNullOrEmpty(), Is.True); Assert.That(parent_2.Children.Count, Is.EqualTo(1)); Assert.That(parent_2.Children.Contains(child)); }
private void setParent(Task task, LiteItemModel parent) { if (parent.Id.HasValue) { Task newParent = session.Load<Task>(parent.Id); task.ChangeParent(newParent); } else { task.RemoveParent(); } }
public void ChangeParent_When_New_Parent_Is_Old_Parent() { Task parent = new Task(); Task child_1 = new Task(); Task child_2 = new Task(); parent.AddChild(child_1); parent.AddChild(child_2); child_1.ChangeParent(parent); Assert.That(child_1.Parent, Is.EqualTo(parent)); Assert.That(child_1.Sequence, Is.EqualTo(1)); Assert.That(child_2.Parent, Is.EqualTo(parent)); Assert.That(child_2.Sequence, Is.EqualTo(2)); Assert.That(parent.Children.Count, Is.EqualTo(2)); Assert.That(parent.Children.Contains(child_1)); Assert.That(parent.Children.Contains(child_1)); }
public void ChangeParent_When_Child_Has_No_Parent() { Task new_parent = new Task(); Task child = new Task(); child.ChangeParent(new_parent); Assert.That(child.Parent, Is.EqualTo(new_parent)); Assert.That(new_parent.Children.Count, Is.EqualTo(1)); Assert.That(new_parent.Children.Contains(child)); }