]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scenegraph/testcases/org/simantics/scenegraph/tests/GetRootNodeTest.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scenegraph / testcases / org / simantics / scenegraph / tests / GetRootNodeTest.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.scenegraph.tests;
13
14 import static org.junit.Assert.assertNull;
15 import static org.junit.Assert.assertSame;
16
17 import java.util.UUID;
18
19 import org.junit.Test;
20 import org.simantics.scenegraph.INode;
21 import org.simantics.scenegraph.ParentNode;
22 import org.simantics.scenegraph.g2d.G2DParentNode;
23 import org.simantics.scenegraph.g2d.G2DSceneGraph;
24 import org.simantics.scenegraph.g2d.nodes.DataNode;
25 import org.simantics.scenegraph.g2d.nodes.NavigationNode;
26
27
28 /**
29  * @author Tuukka Lehtonen
30  */
31 public class GetRootNodeTest {
32
33     G2DSceneGraph root = new G2DSceneGraph();
34
35     <T extends INode> T addNode(ParentNode<?> parent, String id, Class<T> clazz) {
36         T node = parent.addNode(id, clazz);
37         return node;
38     }
39
40     <T extends INode> T addNode(ParentNode<?> parent, Class<T> clazz) {
41         return addNode(parent, UUID.randomUUID().toString(), clazz);
42     }
43
44     @Test
45     public void testGetRootNode() throws Exception {
46         NavigationNode nav = addNode(root, NavigationNode.class);
47         DataNode data = addNode(root, DataNode.class);
48         G2DParentNode elements = addNode(nav, G2DParentNode.class);
49         G2DParentNode ghosts = addNode(nav, G2DParentNode.class);
50
51         G2DParentNode e1 = addNode(elements, G2DParentNode.class);
52         G2DParentNode e2 = addNode(elements, G2DParentNode.class);
53         G2DParentNode e3 = addNode(elements, G2DParentNode.class);
54         G2DParentNode e1_1 = addNode(e1, G2DParentNode.class);
55         G2DParentNode e1_2 = addNode(e1, G2DParentNode.class);
56         G2DParentNode e1_1_1 = addNode(e1_1, G2DParentNode.class);
57         G2DParentNode e2_1 = addNode(e2, G2DParentNode.class);
58         G2DParentNode e3_1 = addNode(e3, G2DParentNode.class);
59         G2DParentNode e3_1_1 = addNode(e3_1, G2DParentNode.class);
60         G2DParentNode e3_1_1_1 = addNode(e3_1_1, G2DParentNode.class);
61
62         assertSame(e3_1_1_1.getRootNode(), root);
63         assertSame(nav.getRootNode(), root);
64         assertSame(e3_1.getRootNode(), root);
65         assertSame(e3_1_1.getRootNode(), root);
66         assertSame(e3_1.getRootNode(), root);
67         assertSame(e2.getRootNode(), root);
68         assertSame(e2_1.getRootNode(), root);
69         assertSame(e1.getRootNode(), root);
70         assertSame(e1_1_1.getRootNode(), root);
71         assertSame(e1_1.getRootNode(), root);
72         assertSame(e1_2.getRootNode(), root);
73         assertSame(data.getRootNode(), root);
74         assertSame(ghosts.getRootNode(), root);
75
76         ghosts.remove();
77         assertNull(ghosts.getRootNode());
78         data.delete();
79         assertNull(data.getRootNode());
80         e1.remove();
81         assertNull(e1.getRootNode());
82         e2_1.remove();
83         assertNull(e2_1.getRootNode());
84         e2.remove();
85         assertNull(e2.getRootNode());
86         e3.remove();
87         assertNull(e3_1_1_1.getRootNode());
88         assertNull(e3_1_1.getRootNode());
89         assertNull(e3_1.getRootNode());
90         assertNull(e3.getRootNode());
91     }
92
93 }