Mercurial > hg > Members > kazuma > jungle-ormapper
view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/index/parentIndexTest.java @ 0:44465893e8b8
first Commit
author | Kazuma |
---|---|
date | Wed, 30 Nov 2016 01:47:55 +0900 |
parents | |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.index; 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.JungleTree; import jp.ac.u_ryukyu.ie.cr.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.jungle.util.Error; import jp.ac.u_ryukyu.ie.cr.jungle.store.index.ParentIndex; import junit.framework.Assert; import org.junit.Test; import java.nio.ByteBuffer; /** * Created by e115731 on 15/05/06. */ public class parentIndexTest { @Test public void parentIndex() { 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(); for (int count = 0; count < 100; count++) { editor = editor.addNewChildAt(path, 0).b(); path = path.add(0); editor = editor.putAttribute(path, "KEY", ByteBuffer.wrap(("data" + count).getBytes())).b(); } Either<Error, JungleTreeEditor> either = editor.success(); Assert.assertTrue(either.isB()); TreeNode node = tree.getNodeOfPath(path).b(); ParentIndex parentIndex = tree.getParentIndex(); for (int count = 99; count >= 0; count--) { String attribute = node.getAttributes().getString("KEY"); Assert.assertEquals(attribute, "data" + count); node = parentIndex.get(node); } } }