Ejemplo n.º 1
0
        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");
        }