47
|
1 import java.nio.ByteBuffer;
|
|
2
|
|
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
|
|
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
|
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Result;
|
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
11 import junit.framework.Assert;
|
|
12 import junit.framework.TestCase;
|
|
13
|
|
14
|
|
15 public class DefaultJungleTreeTest extends TestCase
|
|
16 {
|
|
17 public Jungle instance()
|
|
18 {
|
|
19 Jungle j = new DefaultJungle("hogehoge");
|
|
20 return j;
|
|
21 }
|
|
22
|
|
23 public static final String key = "KEY";
|
|
24 public static final ByteBuffer value = ByteBuffer.wrap(key.getBytes());
|
|
25
|
|
26 public void testSampleTest()
|
|
27 {
|
|
28 Jungle j = instance();
|
|
29 j.createNewTree("tree");
|
|
30 JungleTree tree = j.getTreeByName("tree");
|
|
31
|
|
32 JungleTreeEditor editor1 = tree.getTreeEditor();
|
|
33 JungleTreeEditor editor2 = tree.getTreeEditor();
|
|
34
|
|
35 DefaultNodePath root = new DefaultNodePath();
|
|
36
|
|
37 Either<Error,JungleTreeEditor> either = editor1.putAttribute(root,key,value);
|
|
38 if(either.isA()){
|
|
39 Assert.fail();
|
|
40 }
|
|
41 editor1 = either.b();
|
|
42 editor1.success();
|
|
43
|
|
44 // check the value ;
|
|
45 Node node = tree.getRootNode();
|
|
46 ByteBuffer v = node.getAttributes().get(key);
|
|
47 Assert.assertEquals(0,v.compareTo(value));
|
|
48
|
|
49 // editor2 must fail transction
|
|
50 either = editor2.putAttribute(root,key,value);
|
|
51 if(either.isA()){
|
|
52 Assert.fail();
|
|
53 }
|
|
54 editor2 = either.b();
|
|
55 Either<Error,JungleTreeEditor> r = editor2.success();
|
|
56 Assert.assertTrue(either.isA());
|
|
57 }
|
|
58
|
|
59 public void testIsolation()
|
|
60 {
|
|
61
|
|
62 }
|
|
63 }
|