public void ShouldBeAbleToMoveTableToOtherNode() { // 2 Customers ExecutionNode customer = ExecutionNode.CreateLevelOneNode(2, "Customer"); customer.AddTable(_CustomerTable); // Make 2 accounts per customer ExecutionNode accounts = customer.AddChild(2, "Accounts"); accounts.AddTable(_AccountTable); NodeIterator it = new NodeIterator(customer); Assert.That(it.GetExpectedInsertCount(), Is.EqualTo(6)); AssertOrder(it.GetTablesRecursive().Select(x => x.Table), "Customer", "Accounts", "Accounts", "Customer", "Accounts", "Accounts"); accounts.MoveTableToNode(_AccountTable, customer); Assert.That(it.GetExpectedInsertCount(), Is.EqualTo(4)); AssertOrder(it.GetTablesRecursive().Select(x => x.Table), "Customer", "Accounts", "Customer", "Accounts"); }