Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/traverse/RedBlackInterfaceTraverserTest.java @ 303:a5f7565f3a4b
add RedBlackTreeInterfaceTraverser and this test
author | tatsuki |
---|---|
date | Sun, 08 Jan 2017 12:23:48 +0900 |
parents | |
children | 201cc75a9984 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.traverse; 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.persistent.NullJournal; 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.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser; 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.Error.Error; import junit.framework.Assert; import org.junit.Test; import java.nio.ByteBuffer; import java.util.Iterator; public class RedBlackInterfaceTraverserTest { private String balanceKey = "key"; @Test public void RedBlackInterfaceTraverserTests() { Jungle jungle = new DefaultJungle(new NullJournal(), "hoge", new DefaultTraverser()); jungle.createNewRedBlackTree("RedBlackTree", balanceKey); JungleTree tree = jungle.getTreeByName("RedBlackTree"); JungleTreeEditor editor = tree.getJungleTreeEditor(); NodePath path = new DefaultNodePath(); for (int nodeCount = 0; nodeCount < 100; nodeCount++) { ByteBuffer value = ByteBuffer.wrap(("value" + nodeCount).getBytes()); Either<Error,JungleTreeEditor> either = editor.addNewChildAndPutAttribute(path, 0, balanceKey, value); Assert.assertFalse(either.isA()); editor = either.b(); } Either<Error,JungleTreeEditor> either = editor.success(); Assert.assertFalse(either.isA()); InterfaceTraverser traverser = tree.getTraverser(true); Iterator<TreeNode> iterator = traverser.find((TreeNode node) -> { return true; },balanceKey,"value5"); Assert.assertTrue(iterator.hasNext()); } }