Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/GetOldTreeTest.java @ 143:afbe19c98f53
change Index form TreeMap<String,TreeMap<String<List<Pair<TreeNode,NodePath>>>> → TreeMap<String,TreeMap<String<List<NodePath>>>
bag
author | one |
---|---|
date | Sat, 15 Nov 2014 17:48:07 +0900 |
parents | ef183969bf31 |
children | 0854f9a9e81d |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; import java.nio.ByteBuffer; import org.junit.Test; 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.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import junit.framework.Assert; public class GetOldTreeTest { @Test public void getOldTreeTest() { 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 num = 0; num < 10; num++) { JungleTreeEditor addChildEditor = editor.addNewChildAt(path, num).b(); JungleTreeEditor putAttributeEditor = addChildEditor.putAttribute(path.add(num), "test", ByteBuffer.wrap("tatsuki".getBytes())).b(); Either<Error, JungleTreeEditor> successEither = putAttributeEditor.success(); Assert.assertFalse(successEither.isA()); editor = successEither.b(); } JungleTreeEditor newEditor = tree.getTreeEditor(); JungleTreeEditor newPutEditor = newEditor.putAttribute(path.add(9), "test", ByteBuffer.wrap("kanagawa".getBytes())).b(); newPutEditor.success(); TreeNode root = tree.getRootNode(); Either<Error, TreeNode> childNodeEither = root.getChildren().at(9); Assert.assertTrue(childNodeEither.isB()); TreeNode child = childNodeEither.b(); Assert.assertEquals(child.getAttributes().getString("test"),"kanagawa"); long t1 = System.currentTimeMillis(); JungleTree oldTree1 = tree.getOldTree(10).b(); long t2 = System.currentTimeMillis(); System.out.println("time = " + (t2 - t1)); TreeNode oldRoot1 = oldTree1.getRootNode(); Either<Error, TreeNode> oldChildNodeEither = oldRoot1.getChildren().at(9); Assert.assertTrue(oldChildNodeEither.isB()); TreeNode oldChildNode = oldChildNodeEither.b(); Assert.assertEquals(oldChildNode.getAttributes().getString("test"),"tatsuki"); JungleTree oldTree2 = tree.getOldTree(9).b(); TreeNode oldRoot2 = oldTree2.getRootNode(); Assert.assertTrue(oldRoot2.getChildren().at(9).isA()); } }