1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
12 package org.simantics.scenegraph.tests;
\r
14 import static org.junit.Assert.assertNull;
\r
15 import static org.junit.Assert.assertSame;
\r
17 import java.util.UUID;
\r
19 import org.junit.Test;
\r
20 import org.simantics.scenegraph.INode;
\r
21 import org.simantics.scenegraph.ParentNode;
\r
22 import org.simantics.scenegraph.g2d.G2DParentNode;
\r
23 import org.simantics.scenegraph.g2d.G2DSceneGraph;
\r
24 import org.simantics.scenegraph.g2d.nodes.DataNode;
\r
25 import org.simantics.scenegraph.g2d.nodes.NavigationNode;
\r
29 * @author Tuukka Lehtonen
\r
31 public class GetRootNodeTest {
\r
33 G2DSceneGraph root = new G2DSceneGraph();
\r
35 <T extends INode> T addNode(ParentNode<?> parent, String id, Class<T> clazz) {
\r
36 T node = parent.addNode(id, clazz);
\r
40 <T extends INode> T addNode(ParentNode<?> parent, Class<T> clazz) {
\r
41 return addNode(parent, UUID.randomUUID().toString(), clazz);
\r
45 public void testGetRootNode() throws Exception {
\r
46 NavigationNode nav = addNode(root, NavigationNode.class);
\r
47 DataNode data = addNode(root, DataNode.class);
\r
48 G2DParentNode elements = addNode(nav, G2DParentNode.class);
\r
49 G2DParentNode ghosts = addNode(nav, G2DParentNode.class);
\r
51 G2DParentNode e1 = addNode(elements, G2DParentNode.class);
\r
52 G2DParentNode e2 = addNode(elements, G2DParentNode.class);
\r
53 G2DParentNode e3 = addNode(elements, G2DParentNode.class);
\r
54 G2DParentNode e1_1 = addNode(e1, G2DParentNode.class);
\r
55 G2DParentNode e1_2 = addNode(e1, G2DParentNode.class);
\r
56 G2DParentNode e1_1_1 = addNode(e1_1, G2DParentNode.class);
\r
57 G2DParentNode e2_1 = addNode(e2, G2DParentNode.class);
\r
58 G2DParentNode e3_1 = addNode(e3, G2DParentNode.class);
\r
59 G2DParentNode e3_1_1 = addNode(e3_1, G2DParentNode.class);
\r
60 G2DParentNode e3_1_1_1 = addNode(e3_1_1, G2DParentNode.class);
\r
62 assertSame(e3_1_1_1.getRootNode(), root);
\r
63 assertSame(nav.getRootNode(), root);
\r
64 assertSame(e3_1.getRootNode(), root);
\r
65 assertSame(e3_1_1.getRootNode(), root);
\r
66 assertSame(e3_1.getRootNode(), root);
\r
67 assertSame(e2.getRootNode(), root);
\r
68 assertSame(e2_1.getRootNode(), root);
\r
69 assertSame(e1.getRootNode(), root);
\r
70 assertSame(e1_1_1.getRootNode(), root);
\r
71 assertSame(e1_1.getRootNode(), root);
\r
72 assertSame(e1_2.getRootNode(), root);
\r
73 assertSame(data.getRootNode(), root);
\r
74 assertSame(ghosts.getRootNode(), root);
\r
77 assertNull(ghosts.getRootNode());
\r
79 assertNull(data.getRootNode());
\r
81 assertNull(e1.getRootNode());
\r
83 assertNull(e2_1.getRootNode());
\r
85 assertNull(e2.getRootNode());
\r
87 assertNull(e3_1_1_1.getRootNode());
\r
88 assertNull(e3_1_1.getRootNode());
\r
89 assertNull(e3_1.getRootNode());
\r
90 assertNull(e3.getRootNode());
\r