annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
278
f69b2a5a821d fix error for DifferenceNode
tatsuki
parents: 276
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.jungle.tree.DefaultTree;
276
71a2ee428081 add DifferencialChildrenTest.java
tatsuki
parents: 266
diff changeset
2
209
e5275a599048 reverseList → List
tatsuki
parents: 175
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle;
e5275a599048 reverseList → List
tatsuki
parents: 175
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
263
tatsuki
parents: 209
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath;
276
71a2ee428081 add DifferencialChildrenTest.java
tatsuki
parents: 266
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
265
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
263
tatsuki
parents: 209
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree;
209
e5275a599048 reverseList → List
tatsuki
parents: 175
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
266
c62462c28807 separate edit → traverse edit clone
tatsuki
parents: 265
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.jungle.util.Error.Error;
47
22d8966ab672 added test
Shoshi TAMAKI
parents:
diff changeset
11 import junit.framework.Assert;
22d8966ab672 added test
Shoshi TAMAKI
parents:
diff changeset
12 import junit.framework.TestCase;
22d8966ab672 added test
Shoshi TAMAKI
parents:
diff changeset
13
263
tatsuki
parents: 209
diff changeset
14 import java.nio.ByteBuffer;
tatsuki
parents: 209
diff changeset
15
166
6615db346bf5 miner change
one
parents: 152
diff changeset
16 public class DefaultJungleTreeTest extends TestCase {
6615db346bf5 miner change
one
parents: 152
diff changeset
17 public Jungle instance() {
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 278
diff changeset
18 Jungle j = new DefaultJungle(null, "hogehoge");
166
6615db346bf5 miner change
one
parents: 152
diff changeset
19 return j;
6615db346bf5 miner change
one
parents: 152
diff changeset
20 }
47
22d8966ab672 added test
Shoshi TAMAKI
parents:
diff changeset
21
166
6615db346bf5 miner change
one
parents: 152
diff changeset
22 public static final String key = "KEY";
6615db346bf5 miner change
one
parents: 152
diff changeset
23 public static final ByteBuffer value = ByteBuffer.wrap(key.getBytes());
6615db346bf5 miner change
one
parents: 152
diff changeset
24
6615db346bf5 miner change
one
parents: 152
diff changeset
25 public void testSampleTest() {
6615db346bf5 miner change
one
parents: 152
diff changeset
26 Jungle j = instance();
6615db346bf5 miner change
one
parents: 152
diff changeset
27 j.createNewTree("tree");
6615db346bf5 miner change
one
parents: 152
diff changeset
28 JungleTree tree = j.getTreeByName("tree");
6615db346bf5 miner change
one
parents: 152
diff changeset
29 Assert.assertEquals(0, tree.revision());
263
tatsuki
parents: 209
diff changeset
30 JungleTreeEditor editor1 = tree.getJungleTreeEditor();
tatsuki
parents: 209
diff changeset
31 JungleTreeEditor editor2 = tree.getJungleTreeEditor();
166
6615db346bf5 miner change
one
parents: 152
diff changeset
32
6615db346bf5 miner change
one
parents: 152
diff changeset
33 DefaultNodePath root = new DefaultNodePath();
6615db346bf5 miner change
one
parents: 152
diff changeset
34
6615db346bf5 miner change
one
parents: 152
diff changeset
35 Either<Error, JungleTreeEditor> either = editor1.putAttribute(root, key, value);
6615db346bf5 miner change
one
parents: 152
diff changeset
36 if (either.isA()) {
6615db346bf5 miner change
one
parents: 152
diff changeset
37 Assert.fail();
6615db346bf5 miner change
one
parents: 152
diff changeset
38 }
6615db346bf5 miner change
one
parents: 152
diff changeset
39 editor1 = either.b();
6615db346bf5 miner change
one
parents: 152
diff changeset
40 editor1.success();
6615db346bf5 miner change
one
parents: 152
diff changeset
41
6615db346bf5 miner change
one
parents: 152
diff changeset
42 // check the value ;
6615db346bf5 miner change
one
parents: 152
diff changeset
43 TreeNode node = tree.getRootNode();
6615db346bf5 miner change
one
parents: 152
diff changeset
44 ByteBuffer v = node.getAttributes().get(key);
6615db346bf5 miner change
one
parents: 152
diff changeset
45 Assert.assertEquals(0, v.compareTo(value));
6615db346bf5 miner change
one
parents: 152
diff changeset
46 Assert.assertEquals(1, tree.revision());
6615db346bf5 miner change
one
parents: 152
diff changeset
47 // editor2 must fail transction
6615db346bf5 miner change
one
parents: 152
diff changeset
48 either = editor2.putAttribute(root, key, value);
6615db346bf5 miner change
one
parents: 152
diff changeset
49 if (either.isA()) {
6615db346bf5 miner change
one
parents: 152
diff changeset
50 Assert.fail();
6615db346bf5 miner change
one
parents: 152
diff changeset
51 }
6615db346bf5 miner change
one
parents: 152
diff changeset
52 editor2 = either.b();
6615db346bf5 miner change
one
parents: 152
diff changeset
53 Either<Error, JungleTreeEditor> r = editor2.success();
6615db346bf5 miner change
one
parents: 152
diff changeset
54 Assert.assertTrue(r.isA());
6615db346bf5 miner change
one
parents: 152
diff changeset
55 }
6615db346bf5 miner change
one
parents: 152
diff changeset
56
6615db346bf5 miner change
one
parents: 152
diff changeset
57 public void testIsolation() {
6615db346bf5 miner change
one
parents: 152
diff changeset
58
6615db346bf5 miner change
one
parents: 152
diff changeset
59 }
47
22d8966ab672 added test
Shoshi TAMAKI
parents:
diff changeset
60 }