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