Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/GetNodeOfPathTest.java @ 171:624a7e6a3f75
add GetNodeOfPath
author | one |
---|---|
date | Tue, 13 Jan 2015 02:34:42 +0900 |
parents | |
children | 809f813d1083 |
comparison
equal
deleted
inserted
replaced
170:383b08d1711c | 171:624a7e6a3f75 |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; | |
2 | |
3 import java.nio.ByteBuffer; | |
4 import java.util.Iterator; | |
5 | |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; | |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; | |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; | |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; | |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; | |
15 import junit.framework.Assert; | |
16 | |
17 import org.junit.Test; | |
18 | |
19 import com.sun.corba.se.impl.orbutil.graph.Node; | |
20 import com.sun.org.apache.bcel.internal.generic.RETURN; | |
21 | |
22 public class GetNodeOfPathTest { | |
23 | |
24 @Test | |
25 public void getNodeOfPathTest() { | |
26 Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTreeEditor(new DefaultTraverser())); | |
27 jungle.createNewTree("tree"); | |
28 JungleTree tree = jungle.getTreeByName("tree"); | |
29 JungleTreeEditor editor = tree.getTreeEditor(); | |
30 DefaultNodePath path = new DefaultNodePath(); | |
31 editor = editor.addNewChildAt(path, 0).b(); | |
32 path = path.add(0); | |
33 editor = editor.addNewChildAt(path, 0).b(); | |
34 path = path.add(0); | |
35 editor = editor.putAttribute(path, "KEY", ByteBuffer.wrap("tatsuki".getBytes())).b(); | |
36 editor.success(); | |
37 | |
38 InterfaceTraverser traverser = tree.getTraverser(true); | |
39 Iterator<TreeNode> nodeIterator = traverser.find((TreeNode node) -> { | |
40 String str = node.getAttributes().getString("KEY"); | |
41 if (str == null) | |
42 return false; | |
43 if (str.equals("tatsuki")) | |
44 return true; | |
45 return false; | |
46 }, "KEY", "tatsuki"); | |
47 TreeNode node = tree.getNodeOfPath(path).b(); | |
48 Assert.assertTrue(nodeIterator.hasNext()); | |
49 Assert.assertEquals(node, nodeIterator.next()); | |
50 } | |
51 } |