annotate src/treecms/test/AbstractMonotonicTreeTest.java @ 16:bb9760760744

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