Mercurial > hg > Members > kazuma > jungle-ormapper
view src/test/java/DefaultJungleTreeTest.java @ 0:44465893e8b8
first Commit
author | Kazuma |
---|---|
date | Wed, 30 Nov 2016 01:47:55 +0900 |
parents | |
children |
line wrap: on
line source
import java.nio.ByteBuffer; 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.NodePath; 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 junit.framework.Assert; import junit.framework.TestCase; public class DefaultJungleTreeTest extends TestCase { public Jungle instance() { Jungle j = new DefaultJungle(null, "hogehoge", new DefaultTreeEditor(new DefaultTraverser())); return j; } public static final String key = "KEY"; public static final ByteBuffer value = ByteBuffer.wrap(key.getBytes()); public void testSampleTest() { Jungle j = instance(); j.createNewTree("tree"); JungleTree tree = j.getTreeByName("tree"); Assert.assertEquals(0, tree.revision()); JungleTreeEditor editor1 = tree.getTreeEditor(); JungleTreeEditor editor2 = tree.getTreeEditor(); DefaultNodePath root = new DefaultNodePath(); Either<Error, JungleTreeEditor> either = editor1.putAttribute(root, key, value); if (either.isA()) { } editor1 = either.b(); editor1.success(); editor1.addNewChildAt(root, 0); // check the value ; TreeNode node = tree.getRootNode(); ByteBuffer v = node.getAttributes().get(key); Assert.assertEquals(0, v.compareTo(value)); Assert.assertEquals(1, tree.revision()); // editor2 must fail transction either = editor1.putAttribute(root.add(0), key, value); if (either.isA()) { } editor2 = either.b(); Either<Error, JungleTreeEditor> r = editor2.success(); } public void testIsolation() { } }