5
|
1 package treecms.test;
|
|
2
|
9
|
3 import java.nio.ByteBuffer;
|
|
4 import java.util.Arrays;
|
6
|
5 import junit.framework.Assert;
|
5
|
6 import org.junit.Test;
|
6
|
7 import treecms.api.Forest;
|
16
|
8 import treecms.api.MonotonicTree;
|
6
|
9 import treecms.api.Node;
|
|
10 import treecms.api.NodeID;
|
16
|
11 import treecms.api.SingleNode;
|
5
|
12 import treecms.api.Tree;
|
16
|
13 import treecms.tree.util.NodeData;
|
5
|
14
|
16
|
15 public abstract class AbstractMonotonicTreeTest
|
5
|
16 {
|
9
|
17 public abstract Forest getForest();
|
5
|
18
|
|
19 @Test
|
16
|
20 public MonotonicTree testEdit()
|
5
|
21 {
|
9
|
22 Forest forest = getForest();
|
16
|
23 SingleNode root = forest.create();
|
9
|
24
|
16
|
25 SingleNode n1 = forest.create();
|
|
26 SingleNode n11 = forest.create();
|
|
27 SingleNode n12 = forest.create();
|
9
|
28 n1.addAll(Arrays.asList(n11,n12));
|
|
29
|
|
30 Node n2 = forest.create();
|
|
31 Node n21 = forest.create();
|
|
32 Node n22 = forest.create();
|
|
33 n2.addAll(Arrays.asList(n21,n22));
|
|
34
|
|
35 Node n221 = forest.create();
|
|
36 n22.add(n221);
|
|
37
|
|
38 root.addAll(Arrays.asList(n1,n2));
|
5
|
39
|
9
|
40 TreeEditor editor = forest.getTreeEditor(forest.getTree(root));
|
|
41
|
|
42 //編集開始
|
|
43 NodeData data = n221.getData();
|
|
44 data.put(ByteBuffer.wrap("name".getBytes()),ByteBuffer.wrap("value".getBytes()));
|
|
45
|
|
46 try{
|
|
47 Node new221 = editor.updateTree(n221,data); //n221を編集する。パスはroot -> n2 -> n22 -> n221となるはず
|
|
48 NodeID oldID = n221.getID();
|
|
49 NodeID newID = new221.getID();
|
6
|
50
|
9
|
51 //編集したノードは同じUUIDを持つはず
|
|
52 Assert.assertTrue(oldID.isFamily(newID));
|
|
53
|
|
54 Node newRoot =
|
|
55 NodePathFinder finder = new NodePathFinder()
|
|
56
|
|
57 }catch(PathNotFoundException _e){
|
|
58 Assert.fail(_e.getMessage());
|
6
|
59 }
|
9
|
60
|
|
61 return editor;
|
5
|
62 }
|
|
63
|
|
64 @Test
|
6
|
65 public void testForceCommit()
|
|
66 {
|
9
|
67 testEdit();
|
6
|
68 }
|
|
69
|
|
70 @Test
|
|
71 public void testCommitFailsWhenTreeWasUpdated()
|
5
|
72 {
|
|
73 }
|
|
74
|
|
75 @Test
|
|
76 public void testCheck()
|
|
77 {
|
|
78 }
|
|
79
|
|
80 @Test
|
|
81 public void testUpdate()
|
|
82 {
|
|
83 }
|
|
84 }
|