Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/GetOldTreeTest.java @ 308:201cc75a9984
change Red Black Tree Edit Path Extends
author | tatsuki |
---|---|
date | Thu, 26 Jan 2017 15:23:25 +0900 |
parents | c62462c28807 |
children | 2a0cb1f0ba4e |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.core; 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.store.nodepath.DefaultNodePath; 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.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; public class GetOldTreeTest { @Test public void getOldTreeTest() { Jungle jungle = new DefaultJungle(null, "hogehoge"); jungle.createNewTree("tree"); JungleTree tree = jungle.getTreeByName("tree"); JungleTreeEditor editor = tree.getJungleTreeEditor(); 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("data".getBytes())).b(); Either<Error, JungleTreeEditor> successEither = putAttributeEditor.success(); Assert.assertFalse(successEither.isA()); editor = successEither.b(); } System.out.println(tree.revision()); TreeNode root = tree.getRootNode(); Assert.assertTrue(root.getChildren().at(9).isB()); JungleTree oldTree = tree.getOldTree(9).b(); System.out.println(oldTree.revision()); TreeNode oldRoot = oldTree.getRootNode(); Assert.assertTrue(oldRoot.getChildren().at(9).isA()); } }