public IEnumerator Model1WithWithGameObjectWithBrush_AddModel2ToGameObject_BrushHasModel2AsTree() { var model1 = TestUtility.CreateUndoableGameObjectWithModel("model1"); var model1GameObject = model1.gameObject; var model2GameObject = TestUtility.CreateGameObject("model2"); model2GameObject.transform.parent = model1GameObject.transform; var brush = TestUtility.CreateUndoableGameObjectWithBrush("brush"); var brushGameObject = brush.gameObject; brush.transform.parent = model2GameObject.transform; Assert.AreEqual(0, CSGManager.TreeCount, "Expected 0 Trees to Exist"); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeNodeCount, "Expected 0 TreeNodes to Exist"); yield return(null); Assert.True(model1GameObject); Assert.True(model1); Assert.True(model2GameObject); Assert.True(brushGameObject); Assert.True(brush); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); Assert.AreEqual(1, model1.Node.Count); Assert.AreEqual(model1.Node.NodeID, brush.TopNode.Tree.NodeID); var model2 = TestUtility.CreateUndoableModelComponent(model2GameObject); yield return(null); Assert.True(model1GameObject); Assert.True(model1); Assert.True(model2GameObject); Assert.True(model2); Assert.True(brushGameObject); Assert.True(brush); Assert.AreEqual(2, CSGManager.TreeCount, "Expected 2 Trees to Exist"); Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(3, CSGManager.TreeNodeCount, "Expected 3 TreeNodes to Exist"); Assert.AreEqual(0, model1.Node.Count); Assert.AreEqual(1, model2.Node.Count); Assert.AreEqual(model2.Node.NodeID, brush.TopNode.Tree.NodeID); }
public IEnumerator GameObjectWithBrush_AddModelToGameObject_BrushHasModelAsTree() { var modelGameObject = TestUtility.CreateGameObject("model"); var brush = TestUtility.CreateUndoableGameObjectWithBrush("brush"); var brushGameObject = brush.gameObject; brush.transform.parent = modelGameObject.transform; Assert.AreEqual(0, CSGManager.TreeBranchCount, "Expected 0 TreeBranches to Exist"); Assert.AreEqual(0, CSGManager.TreeBrushCount, "Expected 0 TreeBrushes to Exist"); Assert.AreEqual(0, CSGManager.TreeNodeCount, "Expected 0 TreeNodes to Exist"); yield return(null); Assert.True(modelGameObject); Assert.True(brushGameObject); Assert.True(brush); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); // default model Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); Assert.AreEqual(CSGTreeNode.InvalidNode.NodeID, brush.TopNode.Parent.NodeID); var model = TestUtility.CreateUndoableModelComponent(modelGameObject); yield return(null); Assert.True(modelGameObject); Assert.True(model); Assert.True(brushGameObject); Assert.True(brush); Assert.AreEqual(1, CSGManager.TreeCount, "Expected 1 Tree to Exist"); // new model only, default model should've been destroyed Assert.AreEqual(1, CSGManager.TreeBrushCount, "Expected 1 TreeBrush to Exist"); Assert.AreEqual(2, CSGManager.TreeNodeCount, "Expected 2 TreeNodes to Exist"); Assert.AreEqual(1, model.Node.Count); Assert.AreEqual(model.Node.NodeID, brush.TopNode.Tree.NodeID); }