annotate src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/node/GetNodePath.java @ 265:b3a04bc21b23 Implementation_of_communication

add UnDefineNode
author tatsuki
date Tue, 13 Dec 2016 03:16:12 +0900
parents cac88cf813f1
children c62462c28807
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.jungle.impl.node;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
2
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
3
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
263
tatsuki
parents: 237
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
tatsuki
parents: 237
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath;
265
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.DefaultTreeNode;
263
tatsuki
parents: 237
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.InterfaceTraverser;
263
tatsuki
parents: 237
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree;
tatsuki
parents: 237
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
15 import junit.framework.Assert;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
16 import org.junit.Test;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
17
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
18 import java.nio.ByteBuffer;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
19 import java.util.Iterator;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
20
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
21 public class GetNodePath {
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
22 @Test
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
23 public void getNodePathTest(){
263
tatsuki
parents: 237
diff changeset
24 Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTraverser());
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
25 jungle.createNewTree("tree");
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
26 JungleTree tree = jungle.getTreeByName("tree");
263
tatsuki
parents: 237
diff changeset
27 JungleTreeEditor editor = tree.getJungleTreeEditor();
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
28
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
29 editor = createTree(editor,0,3,new DefaultNodePath());
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
30
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
31 editor.success();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
32 InterfaceTraverser traverser = tree.getTraverser(true);
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
33
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
34 Iterator<TreeNode> iterator = traverser.find((TreeNode node) -> { // no index find
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
35 String value = node.getAttributes().getString(key);
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
36 if (value == null)
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
37 return false;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
38 if (value.equals("<-1,2,0>"))
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
39 return true;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
40 return false;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
41 });
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
42
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
43 Assert.assertTrue(iterator.hasNext());
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
44 TreeNode node = iterator.next();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
45 NodePath path = tree.getNodePath(node);
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
46 String pathtring = path.toString();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
47 Assert.assertEquals("<-1,2,0>",pathtring);
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
48 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
49
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
50 public static String key = "KEY";
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
51 public static String indexKey = "INDEXKEY";
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
52 public static DefaultTreeNode factory = new DefaultTreeNode();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
53
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
54 public JungleTreeEditor createTree(JungleTreeEditor editor, int _curY, int _maxHeight, NodePath path) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
55
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
56 if (_curY == _maxHeight) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
57 return editor;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
58 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
59 for (int i = 0; i < 3; i++) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
60
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
61 Either<jp.ac.u_ryukyu.ie.cr.jungle.util.Error, JungleTreeEditor> either = editor.addNewChildAt(path, i);
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
62 if (either.isA())
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
63 Assert.fail();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
64 editor = either.b();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
65 String value = path.add(i).toString();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
66 either = editor.putAttribute(path.add(i), key, ByteBuffer.wrap(value.getBytes()));
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
67 if (either.isA())
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
68 Assert.fail();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
69 editor = either.b();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
70 String value2 = value + "+ index";
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
71 either = editor.putAttribute(path.add(i), indexKey, ByteBuffer.wrap(value2.getBytes()));
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
72 if (either.isA())
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
73 Assert.fail();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
74 editor = either.b();
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
75 editor = createTree(editor, _curY + 1, _maxHeight, path.add(i));
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
76 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
77 return editor;
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
78 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents:
diff changeset
79 }