Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/GetNodeOfPathTest.java @ 172:809f813d1083
minner change
author | one |
---|---|
date | Tue, 10 Feb 2015 11:28:39 +0900 |
parents | 624a7e6a3f75 |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; import java.nio.ByteBuffer; import java.util.Iterator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; import junit.framework.Assert; import org.junit.Test; public class GetNodeOfPathTest { @Test public void getNodeOfPathTest() { Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTreeEditor(new DefaultTraverser())); jungle.createNewTree("tree"); JungleTree tree = jungle.getTreeByName("tree"); JungleTreeEditor editor = tree.getTreeEditor(); DefaultNodePath path = new DefaultNodePath(); editor = editor.addNewChildAt(path, 0).b(); path = path.add(0); editor = editor.addNewChildAt(path, 0).b(); path = path.add(0); editor = editor.putAttribute(path, "KEY", ByteBuffer.wrap("tatsuki".getBytes())).b(); editor.success(); InterfaceTraverser traverser = tree.getTraverser(true); Iterator<TreeNode> nodeIterator = traverser.find((TreeNode node) -> { String str = node.getAttributes().getString("KEY"); if (str == null) return false; if (str.equals("tatsuki")) return true; return false; }, "KEY", "tatsuki"); TreeNode node = tree.getNodeOfPath(path).b(); Assert.assertTrue(nodeIterator.hasNext()); Assert.assertEquals(node, nodeIterator.next()); } }