Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/defaultnode/GetNodePath.java @ 329:2a0cb1f0ba4e
rename Error package
author | kono |
---|---|
date | Sat, 08 Jul 2017 21:05:55 +0900 |
parents | d6b81870216b |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.impl.defaultnode; import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.jungle.query.traverser.InterfaceTraverser; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.Default.DefaultTreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree; import jp.ac.u_ryukyu.ie.cr.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error; import junit.framework.Assert; import org.junit.Test; import java.nio.ByteBuffer; import java.util.Iterator; public class GetNodePath { @Test public void getNodePathTest(){ Jungle jungle = new DefaultJungle(null, "hogehoge"); jungle.createNewTree("tree"); JungleTree tree = jungle.getTreeByName("tree"); JungleTreeEditor editor = tree.getJungleTreeEditor(); editor = createTree(editor,0,3,new DefaultNodePath()); editor.success(); InterfaceTraverser traverser = tree.getTraverser(true); Iterator<TreeNode> iterator = traverser.find((TreeNode node) -> { // no index find String value = node.getAttributes().getString(key); if (value == null) return false; if (value.equals("<-1,2,0>")) return true; return false; }); Assert.assertTrue(iterator.hasNext()); TreeNode node = iterator.next(); String aaa = node.getAttributes().getString(key); NodePath path = tree.getNodePath(node); String pathtring = path.toString(); Assert.assertEquals("<-1,2,0>",pathtring); } public static String key = "KEY"; public static String indexKey = "INDEXKEY"; public static DefaultTreeNode factory = new DefaultTreeNode(); public JungleTreeEditor createTree(JungleTreeEditor editor, int _curY, int _maxHeight, NodePath path) { if (_curY == _maxHeight) { return editor; } for (int i = 0; i < 3; i++) { Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, i); if (either.isA()) Assert.fail(); editor = either.b(); String value = path.add(i).toString(); either = editor.putAttribute(path.add(i), key, ByteBuffer.wrap(value.getBytes())); if (either.isA()) Assert.fail(); editor = either.b(); String value2 = value + "+ index"; either = editor.putAttribute(path.add(i), indexKey, ByteBuffer.wrap(value2.getBytes())); if (either.isA()) Assert.fail(); editor = either.b(); editor = createTree(editor, _curY + 1, _maxHeight, path.add(i)); } return editor; } }