public void BranchWithChildBrush_Clear_BranchIsEmpty() { const int brushUserID = 10; const int branchUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID, new CSGTreeNode[] { brush }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); branch.Clear(); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(0, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void BranchWithBranch_DestroyBranch_BranchIsEmpty() { const int branchUserID1 = 10; const int branchUserID2 = 11; var branch1 = CSGTreeBranch.Create(branchUserID1); var branch2 = CSGTreeBranch.Create(branchUserID2, new CSGTreeNode[] { branch1 }); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); var result = branch1.Destroy(); Assert.AreEqual(true, result); TestUtility.ExpectInvalidBranch(ref branch1); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(0, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(0, branch2.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBranchCount, "Expected 1 TreeBranch to Exist"); Assert.AreEqual(1, CSGManager.TreeNodeCount, "Expected 1 TreeNode to Exist"); }
public void TreeWith3Children_RemoveRangeWithCount0AndInvalidIndex_ReturnsFalse() { const int brushUserID1 = 10; const int brushUserID2 = 11; const int brushUserID3 = 12; const int treeUserID = 13; var brush1 = CSGTreeBrush.Create(userID: brushUserID1); var brush2 = CSGTreeBrush.Create(userID: brushUserID2); var brush3 = CSGTreeBrush.Create(userID: brushUserID3); var tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { brush1, brush2, brush3 }); CSGManager.ClearDirty(brush1); CSGManager.ClearDirty(brush2); CSGManager.ClearDirty(brush3); CSGManager.ClearDirty(tree); var result = tree.RemoveRange(3, 0); Assert.AreEqual(false, result); TestUtility.ExpectValidBrushWithUserID(ref brush1, brushUserID1); TestUtility.ExpectValidBrushWithUserID(ref brush2, brushUserID2); TestUtility.ExpectValidBrushWithUserID(ref brush3, brushUserID3); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(0, brush1.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush1.Tree.NodeID); Assert.AreEqual(0, brush2.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush2.Tree.NodeID); Assert.AreEqual(0, brush3.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush3.Tree.NodeID); Assert.AreEqual(3, tree.Count); Assert.AreEqual(0, CSGManager.TreeBranchCount); Assert.AreEqual(3, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeCount); Assert.AreEqual(4, CSGManager.TreeNodeCount); }
public void BranchWithChildBranch_RemoveBranch_IsEmpty() { const int branchUserID1 = 10; const int branchUserID2 = 11; var branch1 = CSGTreeBranch.Create(branchUserID1); var branch2 = CSGTreeBranch.Create(branchUserID2, new CSGTreeNode[] { branch1 }); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); var result = branch2.Remove(branch1); Assert.AreEqual(true, result); TestUtility.ExpectValidBranchWithUserID(ref branch1, branchUserID1); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(0, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(0, branch2.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(2, CSGManager.TreeBranchCount, "Expected 2 TreeBranches to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void BranchWithChildBranch_Clear_BranchIsEmpty() { const int branchUserID1 = 10; const int branchUserID2 = 11; var branch1 = CSGTreeBranch.Create(branchUserID1); var branch2 = CSGTreeBranch.Create(branchUserID2, new CSGTreeNode[] { branch1 }); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); branch2.Clear(); TestUtility.ExpectValidBranchWithUserID(ref branch1, branchUserID1); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(0, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(0, branch2.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(2, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void Tree_AddSameBranchTwice_ReturnsFalse() { const int branchUserID = 10; const int treeUserID = 11; var branch = CSGTreeBranch.Create(branchUserID); var tree = CSGTree.Create(treeUserID); CSGManager.ClearDirty(branch); CSGManager.ClearDirty(tree); var result1 = tree.Add(branch); var result2 = tree.Add(branch); Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(0, tree.CountOfBrushesInTree); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(tree.NodeID, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(1, tree.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(1, CSGManager.TreeBranchCount, "Expected 1 TreeBranch to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void Tree_SetChildrenWithBranchWithBrushReversed_ContainsBranchThatContainsBrush() { const int brushUserID = 10; const int branchUserID = 11; const int treeUserID = 12; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID); var tree = CSGTree.Create(treeUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); CSGManager.ClearDirty(tree); tree.InsertRange(0, new CSGTreeNode[] { branch }); branch.InsertRange(0, new CSGTreeNode[] { brush }); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, tree.IsInTree(brush)); Assert.AreEqual(1, tree.CountOfBrushesInTree); Assert.AreEqual(branch.NodeID, brush.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush.Tree.NodeID); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(tree.NodeID, branch.Tree.NodeID); Assert.AreEqual(1, branch.Count); Assert.AreEqual(1, tree.Count); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeCount); Assert.AreEqual(3, CSGManager.TreeNodeCount); }
public void Branch_SetChildrenWithBranch_ContainsBranch() { const int branchUserID1 = 10; const int branchUserID2 = 11; var branch1 = CSGTreeBranch.Create(branchUserID1); var branch2 = CSGTreeBranch.Create(branchUserID2); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); branch2.InsertRange(0, new CSGTreeNode[] { branch1 }); TestUtility.ExpectValidBranchWithUserID(ref branch1, branchUserID1); TestUtility.ExpectValidBranchWithUserID(ref branch2, branchUserID2); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(branch2.NodeID, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(1, branch2.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(2, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void Branch_RemoveUnknownBrush_ReturnsFalse() { const int brushUserID = 10; const int branchUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); var result = branch.Remove(brush); Assert.AreEqual(false, result); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); Assert.AreEqual(false, brush.Dirty); Assert.AreEqual(false, branch.Dirty); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(0, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void BranchWithChildBrush_RemoveSameBrushTwice_ReturnsFalse() { const int brushUserID = 10; const int branchUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID, new CSGTreeNode[] { brush }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); var result1 = branch.Remove(brush); var result2 = branch.Remove(brush); Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(0, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void Branch_InsertBrush_ContainsBrush() { const int brushUserID = 10; const int branchUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); var result = branch.Insert(0, brush); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(branch.NodeID, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(1, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(1, CSGManager.TreeBranchCount, "Expected 1 TreeBranch to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void TreeWithChildBrush_RemoveSameBrushTwice_ReturnsFalse() { const int brushUserID = 10; const int treeUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { brush }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(tree); var result1 = tree.Remove(brush); var result2 = tree.Remove(brush); Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(false, tree.IsInTree(brush)); Assert.AreEqual(0, tree.CountOfBrushesInTree); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(0, tree.Count); Assert.AreEqual(0, CSGManager.TreeBranchCount, "Expected 0 TreeBranches to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void CreateBranchWithChildren() { const int brushUserID = 10; const int branchUserID1 = 11; const int branchUserID2 = 12; CSGTreeBrush brush = CSGTreeBrush.Create(userID: brushUserID); CSGTreeBranch branch1 = CSGTreeBranch.Create(branchUserID1); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch1); CSGTreeBranch branch2 = CSGTreeBranch.Create(branchUserID2, new CSGTreeNode[] { brush, branch1 }); TestUtility.ExpectValidBranchWithUserID(ref branch2, branchUserID2); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(branch2.NodeID, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(branch2.NodeID, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(2, branch2.Count); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(2, CSGManager.TreeBranchCount, "Expected 2 TreeBranches to Exist"); Assert.AreEqual(3, CSGManager.TreeNodeCount, "Expected 3 TreeNodes to Exist"); }
public void Branch_AddSameBranchTwice_ReturnsFalse() { const int branchUserID1 = 10; const int branchUserID2 = 11; var branch1 = CSGTreeBranch.Create(branchUserID1); var branch2 = CSGTreeBranch.Create(branchUserID2); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); var result1 = branch2.Add(branch1); var result2 = branch2.Add(branch1); Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); TestUtility.ExpectValidBranchWithUserID(ref branch1, branchUserID1); TestUtility.ExpectValidBranchWithUserID(ref branch2, branchUserID2); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(branch2.NodeID, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(0, branch2.Tree.NodeID); Assert.AreEqual(1, branch2.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(2, CSGManager.TreeBranchCount, "Expected 2 TreeBranches to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void Tree_AddChildBrushOfOtherTree_MovesBrushToTree() { const int brushUserID = 10; const int treeUserID1 = 11; const int treeUserID2 = 12; var brush = CSGTreeBrush.Create(userID: brushUserID); var tree2 = CSGTree.Create(treeUserID2); var tree1 = CSGTree.Create(treeUserID1, new CSGTreeNode[] { brush }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(tree1); CSGManager.ClearDirty(tree2); var result = tree2.Add(brush); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidTreeWithUserID(ref tree1, treeUserID1); TestUtility.ExpectValidTreeWithUserID(ref tree2, treeUserID2); Assert.AreEqual(true, tree1.Dirty); Assert.AreEqual(true, tree2.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(false, tree1.IsInTree(brush)); Assert.AreEqual(true, tree2.IsInTree(brush)); Assert.AreEqual(0, tree1.CountOfBrushesInTree); Assert.AreEqual(1, tree2.CountOfBrushesInTree); Assert.AreEqual(tree2.NodeID, brush.Tree.NodeID); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, tree1.Count); Assert.AreEqual(1, tree2.Count); Assert.AreEqual(2, CSGManager.TreeCount, "Expected 2 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(0, CSGManager.TreeBranchCount, "Expected 0 TreeBranches to Exist"); Assert.AreEqual(3, CSGManager.TreeNodeCount, "Expected 3 TreeNodes to Exist"); }
public void Branch_AddSameBrushTwice_ReturnsFalse() { const int brushUserID = 10; const int branchUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); var result1 = branch.Add(brush); var result2 = branch.Add(brush); Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(branch.NodeID, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(1, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(1, CSGManager.TreeBranchCount, "Expected 1 TreeBranch to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void BranchWithTwoChildren_RemoveLastNode_StillHasFirstNode() { const int branchUserID = 10; const int brushUserID1 = 11; const int brushUserID2 = 12; var brush1 = CSGTreeBrush.Create(userID: brushUserID1); var brush2 = CSGTreeBrush.Create(userID: brushUserID2); var branch = CSGTreeBranch.Create(branchUserID, new CSGTreeNode[] { brush1, brush2 }); CSGManager.ClearDirty(brush1); CSGManager.ClearDirty(brush2); CSGManager.ClearDirty(branch); var result = branch.RemoveAt(1); Assert.AreEqual(true, result); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); TestUtility.ExpectValidBrushWithUserID(ref brush1, brushUserID1); TestUtility.ExpectValidBrushWithUserID(ref brush2, brushUserID2); Assert.AreEqual(false, brush1.Dirty); Assert.AreEqual(true, brush2.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(branch.NodeID, brush1.Parent.NodeID); Assert.AreEqual(0, brush1.Tree.NodeID); Assert.AreEqual(0, brush2.Parent.NodeID); Assert.AreEqual(0, brush2.Tree.NodeID); Assert.AreEqual(1, branch.Count); Assert.AreEqual(brush1.NodeID, branch[0].NodeID); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(2, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(3, CSGManager.TreeNodeCount); }
public void Tree_AddBrush_ContainsBrush() { const int brushUserID = 10; const int treeUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var tree = CSGTree.Create(treeUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(tree); var result = tree.Add(brush); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, tree.IsInTree(brush)); Assert.AreEqual(1, tree.CountOfBrushesInTree); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush.Tree.NodeID); Assert.AreEqual(1, tree.Count); Assert.AreEqual(0, CSGManager.TreeBranchCount, "Expected 0 TreeBranches to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); }
public void BranchWithSingleChild_RemoveLastNode_IsEmptyBranch() { const int branchUserID = 10; const int brushUserID = 11; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch = CSGTreeBranch.Create(branchUserID, new CSGTreeNode[] { brush }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); var result = branch.RemoveAt(0); Assert.AreEqual(true, result); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(0, brush.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void TreeWithChildBranch_RemoveBranch_IsEmpty() { const int branchUserID = 10; const int treeUserID = 11; var branch = CSGTreeBranch.Create(branchUserID); var tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { branch }); CSGManager.ClearDirty(branch); CSGManager.ClearDirty(tree); var result = tree.Remove(branch); Assert.AreEqual(true, result); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(0, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, tree.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(1, CSGManager.TreeCount); Assert.AreEqual(2, CSGManager.TreeNodeCount); }
public void TreeWithBranch_DestroyBranch_TreeIsEmpty() { const int branchUserID = 10; const int treeUserID = 11; var branch = CSGTreeBranch.Create(branchUserID); var tree = CSGTree.Create(treeUserID); tree.InsertRange(0, new CSGTreeNode[] { branch }); CSGManager.ClearDirty(branch); CSGManager.ClearDirty(tree); var result = branch.Destroy(); Assert.AreEqual(true, result); TestUtility.ExpectInvalidBranch(ref branch); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(0, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(0, tree.Count); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeBranchCount, "Expected 0 TreeBranches to Exist"); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(1, CSGManager.TreeNodeCount, "Expected 1 TreeNode to Exist"); }
public void CreateTreeWithChildren() { const int brushUserID = 10; const int branchUserID = 11; const int treeUserID = 12; CSGTreeBrush brush = CSGTreeBrush.Create(userID: brushUserID); CSGTreeBranch branch = CSGTreeBranch.Create(branchUserID); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch); CSGTree tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { brush, branch }); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(0, brush.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush.Tree.NodeID); Assert.AreEqual(0, branch.Parent.NodeID); Assert.AreEqual(tree.NodeID, branch.Tree.NodeID); Assert.AreEqual(0, branch.Count); Assert.AreEqual(2, tree.Count); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeBranchCount); Assert.AreEqual(1, CSGManager.TreeCount); Assert.AreEqual(3, CSGManager.TreeNodeCount); }
public void Brush_SetInfiniteToFalseAndTrue_GetInfiniteIsTrue() { var brush = CSGTreeBrush.Create(); CSGManager.ClearDirty(brush); brush.Flags = CSGTreeBrushFlags.Default; brush.Flags = CSGTreeBrushFlags.Infinite; Assert.AreEqual(CSGTreeBrushFlags.Infinite, brush.Flags); }
public void Brush_SetLocalToTreeToMultipleValues_GetLocalToTreeIsLastSetValue() { var brush = CSGTreeBrush.Create(); CSGManager.ClearDirty(brush); brush.LocalTransformation = testMatrix1; brush.LocalTransformation = testMatrix2; Assert.AreEqual(testMatrix2, brush.LocalTransformation); Assert.AreEqual(true, brush.Dirty); }
public void TreeWithTwoChildren_InsertRangeWithBrushesInMiddle_TreeContainsBrushesInOrder() { const int brushUserID1 = 10; const int brushUserID2 = 11; const int brushUserID3 = 12; const int brushUserID4 = 13; const int treeUserID = 14; var brush1 = CSGTreeBrush.Create(userID: brushUserID1); var brush2 = CSGTreeBrush.Create(userID: brushUserID2); var brush3 = CSGTreeBrush.Create(userID: brushUserID3); var brush4 = CSGTreeBrush.Create(userID: brushUserID4); var tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { brush3, brush4 }); CSGManager.ClearDirty(brush1); CSGManager.ClearDirty(brush2); CSGManager.ClearDirty(brush3); CSGManager.ClearDirty(brush4); CSGManager.ClearDirty(tree); var result = tree.InsertRange(1, new CSGTreeNode[] { brush1, brush2 }); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush1, brushUserID1); TestUtility.ExpectValidBrushWithUserID(ref brush2, brushUserID2); TestUtility.ExpectValidBrushWithUserID(ref brush3, brushUserID3); TestUtility.ExpectValidBrushWithUserID(ref brush4, brushUserID4); TestUtility.ExpectValidTreeWithUserID(ref tree, treeUserID); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, brush1.Dirty); Assert.AreEqual(true, brush2.Dirty); Assert.AreEqual(false, brush3.Dirty); Assert.AreEqual(false, brush4.Dirty); Assert.AreEqual(0, brush1.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush1.Tree.NodeID); Assert.AreEqual(0, brush2.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush2.Tree.NodeID); Assert.AreEqual(0, brush3.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush3.Tree.NodeID); Assert.AreEqual(0, brush4.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush4.Tree.NodeID); Assert.AreEqual(brush3.NodeID, tree[0].NodeID); Assert.AreEqual(brush1.NodeID, tree[1].NodeID); Assert.AreEqual(brush2.NodeID, tree[2].NodeID); Assert.AreEqual(brush4.NodeID, tree[3].NodeID); Assert.AreEqual(4, tree.Count); Assert.AreEqual(0, CSGManager.TreeBranchCount); Assert.AreEqual(4, CSGManager.TreeBrushCount); Assert.AreEqual(1, CSGManager.TreeCount); Assert.AreEqual(5, CSGManager.TreeNodeCount); }
public void Branch_InsertBrushAtEnd_HasBrushInBack() { const int brushUserID1 = 10; const int brushUserID2 = 11; const int brushUserID3 = 12; const int branchUserID = 13; const int treeUserID = 14; var brush1 = CSGTreeBrush.Create(userID: brushUserID1); var brush2 = CSGTreeBrush.Create(userID: brushUserID2); var brush3 = CSGTreeBrush.Create(userID: brushUserID3); var branch = CSGTreeBranch.Create(branchUserID, new CSGTreeNode[] { brush1, brush2 }); var tree = CSGTree.Create(treeUserID, new CSGTreeNode[] { branch }); CSGManager.ClearDirty(brush1); CSGManager.ClearDirty(brush2); CSGManager.ClearDirty(brush3); CSGManager.ClearDirty(branch); CSGManager.ClearDirty(tree); var result = branch.Insert(2, brush3); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush1, brushUserID1); TestUtility.ExpectValidBrushWithUserID(ref brush2, brushUserID2); TestUtility.ExpectValidBrushWithUserID(ref brush3, brushUserID3); TestUtility.ExpectValidBranchWithUserID(ref branch, branchUserID); Assert.AreEqual(true, tree.Dirty); Assert.AreEqual(true, branch.Dirty); Assert.AreEqual(false, brush1.Dirty); Assert.AreEqual(false, brush2.Dirty); Assert.AreEqual(true, brush3.Dirty); Assert.AreEqual(true, tree.IsInTree(brush1)); Assert.AreEqual(true, tree.IsInTree(brush2)); Assert.AreEqual(true, tree.IsInTree(brush3)); Assert.AreEqual(3, tree.CountOfBrushesInTree); Assert.AreEqual(branch.NodeID, brush1.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush1.Tree.NodeID); Assert.AreEqual(branch.NodeID, brush2.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush2.Tree.NodeID); Assert.AreEqual(branch.NodeID, brush3.Parent.NodeID); Assert.AreEqual(tree.NodeID, brush3.Tree.NodeID); Assert.AreEqual(3, branch.Count); Assert.AreEqual(brush1.NodeID, branch[0].NodeID); Assert.AreEqual(brush2.NodeID, branch[1].NodeID); Assert.AreEqual(brush3.NodeID, branch[2].NodeID); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(3, CSGManager.TreeBrushCount, "Expected 3 TreeBrushes to Exist"); Assert.AreEqual(1, CSGManager.TreeBranchCount, "Expected 1 TreeBranch to Exist"); Assert.AreEqual(5, CSGManager.TreeNodeCount); }
public void DestroyTree() { const int treeUserID = 10; CSGTree tree = CSGTree.Create(treeUserID); CSGManager.ClearDirty(tree); var result = tree.Destroy(); Assert.AreEqual(true, result); TestUtility.ExpectInvalidTree(ref tree); Assert.AreEqual(0, CSGManager.TreeCount); Assert.AreEqual(0, CSGManager.TreeNodeCount); }
public void DestroyBranch() { const int branchUserID = 10; CSGTreeBranch branch = CSGTreeBranch.Create(branchUserID); CSGManager.ClearDirty(branch); var result = branch.Destroy(); Assert.AreEqual(true, result); TestUtility.ExpectInvalidBranch(ref branch); Assert.AreEqual(0, CSGManager.TreeBranchCount); Assert.AreEqual(0, CSGManager.TreeNodeCount); }
public void DestroyBrush() { const int brushUserID = 10; CSGTreeBrush brush = CSGTreeBrush.Create(userID: brushUserID); CSGManager.ClearDirty(brush); var result = brush.Destroy(); Assert.AreEqual(true, result); TestUtility.ExpectInvalidBrush(ref brush); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeNodeCount, "Expected 0 TreeNodes to Exist"); }
public void Branch_AddChildBrushOfOtherBranch_MovesBrushToBranch() { const int brushUserID = 10; const int treeUserID1 = 11; const int treeUserID2 = 12; const int branchUserID1 = 13; const int branchUserID2 = 14; var brush = CSGTreeBrush.Create(userID: brushUserID); var branch2 = CSGTreeBranch.Create(branchUserID2); var tree2 = CSGTree.Create(treeUserID2, new CSGTreeNode[] { branch2 }); var branch1 = CSGTreeBranch.Create(branchUserID1, new CSGTreeNode[] { brush }); var tree1 = CSGTree.Create(treeUserID1, new CSGTreeNode[] { branch1 }); CSGManager.ClearDirty(brush); CSGManager.ClearDirty(branch1); CSGManager.ClearDirty(branch2); CSGManager.ClearDirty(tree1); CSGManager.ClearDirty(tree2); var result = branch2.Add(brush); Assert.AreEqual(true, result); TestUtility.ExpectValidBrushWithUserID(ref brush, brushUserID); TestUtility.ExpectValidBranchWithUserID(ref branch1, branchUserID1); TestUtility.ExpectValidBranchWithUserID(ref branch2, branchUserID2); TestUtility.ExpectValidTreeWithUserID(ref tree1, treeUserID1); TestUtility.ExpectValidTreeWithUserID(ref tree2, treeUserID2); Assert.AreEqual(true, branch1.Dirty); Assert.AreEqual(true, tree1.Dirty); Assert.AreEqual(true, branch2.Dirty); Assert.AreEqual(true, tree2.Dirty); Assert.AreEqual(true, brush.Dirty); Assert.AreEqual(false, tree1.IsInTree(brush)); Assert.AreEqual(true, tree2.IsInTree(brush)); Assert.AreEqual(0, tree1.CountOfBrushesInTree); Assert.AreEqual(1, tree2.CountOfBrushesInTree); Assert.AreEqual(tree2.NodeID, brush.Tree.NodeID); Assert.AreEqual(branch2.NodeID, brush.Parent.NodeID); Assert.AreEqual(tree1.NodeID, branch1.Tree.NodeID); Assert.AreEqual(0, branch1.Parent.NodeID); Assert.AreEqual(0, branch1.Count); Assert.AreEqual(tree2.NodeID, branch2.Tree.NodeID); Assert.AreEqual(0, branch2.Parent.NodeID); Assert.AreEqual(1, branch2.Count); Assert.AreEqual(2, CSGManager.TreeCount); Assert.AreEqual(1, CSGManager.TreeBrushCount); Assert.AreEqual(2, CSGManager.TreeBranchCount); Assert.AreEqual(5, CSGManager.TreeNodeCount); }