Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/tree/DefaultTree/DefaultJungleTreeTest.java @ 308:201cc75a9984
change Red Black Tree Edit Path Extends
author | tatsuki |
---|---|
date | Thu, 26 Jan 2017 15:23:25 +0900 |
parents | f69b2a5a821d |
children | 2a0cb1f0ba4e |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.tree.DefaultTree; 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 junit.framework.TestCase; import java.nio.ByteBuffer; public class DefaultJungleTreeTest extends TestCase { public Jungle instance() { Jungle j = new DefaultJungle(null, "hogehoge"); 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.getJungleTreeEditor(); JungleTreeEditor editor2 = tree.getJungleTreeEditor(); DefaultNodePath root = new DefaultNodePath(); Either<Error, JungleTreeEditor> either = editor1.putAttribute(root, key, value); if (either.isA()) { Assert.fail(); } editor1 = either.b(); editor1.success(); // 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 = editor2.putAttribute(root, key, value); if (either.isA()) { Assert.fail(); } editor2 = either.b(); Either<Error, JungleTreeEditor> r = editor2.success(); Assert.assertTrue(r.isA()); } public void testIsolation() { } }