# HG changeset patch # User Shoshi TAMAKI # Date 1360059405 -32400 # Node ID 22d8966ab672ef4ee410fb7808c10b7b18a020fc # Parent e7d94437ca2fec73d05aa54d7f20fd01fb48e939 added test diff -r e7d94437ca2f -r 22d8966ab672 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java Tue Feb 05 18:19:11 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java Tue Feb 05 19:16:45 2013 +0900 @@ -20,6 +20,7 @@ jungle.createNewTree("hoge"); JungleTree tree = jungle.getTreeByName("hoge"); JungleTreeEditor editor = tree.getTreeEditor(); + JungleTreeEditor editor2 = tree.getTreeEditor(); DefaultNodePath path = new DefaultNodePath(); String key = "key"; @@ -29,6 +30,7 @@ JungleTreeEditor e = either.b(); e.success(); + Node root = tree.getRootNode(); ByteBuffer v = root.getAttributes().get(key); String str = new String(v.array()); diff -r e7d94437ca2f -r 22d8966ab672 src/test/java/DefaultJungleTreeTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/DefaultJungleTreeTest.java Tue Feb 05 19:16:45 2013 +0900 @@ -0,0 +1,63 @@ +import java.nio.ByteBuffer; + +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.core.Node; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Result; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import junit.framework.Assert; +import junit.framework.TestCase; + + +public class DefaultJungleTreeTest extends TestCase +{ + public Jungle instance() + { + Jungle j = new DefaultJungle("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"); + + JungleTreeEditor editor1 = tree.getTreeEditor(); + JungleTreeEditor editor2 = tree.getTreeEditor(); + + DefaultNodePath root = new DefaultNodePath(); + + Either either = editor1.putAttribute(root,key,value); + if(either.isA()){ + Assert.fail(); + } + editor1 = either.b(); + editor1.success(); + + // check the value ; + Node node = tree.getRootNode(); + ByteBuffer v = node.getAttributes().get(key); + Assert.assertEquals(0,v.compareTo(value)); + + // editor2 must fail transction + either = editor2.putAttribute(root,key,value); + if(either.isA()){ + Assert.fail(); + } + editor2 = either.b(); + Either r = editor2.success(); + Assert.assertTrue(either.isA()); + } + + public void testIsolation() + { + + } +}