Mercurial > hg > Members > shoshi > TreeCMSv2
comparison src/treecms/test/AbstractMonotonicTreeTest.java @ 17:168deb591f21
commit
author | shoshi |
---|---|
date | Tue, 24 May 2011 00:33:12 +0900 |
parents | bb9760760744 |
children |
comparison
equal
deleted
inserted
replaced
16:bb9760760744 | 17:168deb591f21 |
---|---|
1 package treecms.test; | 1 package treecms.test; |
2 | 2 |
3 import java.nio.ByteBuffer; | 3 import java.nio.ByteBuffer; |
4 import java.util.Arrays; | 4 |
5 import junit.framework.Assert; | 5 import junit.framework.Assert; |
6 | |
6 import org.junit.Test; | 7 import org.junit.Test; |
7 import treecms.api.Forest; | 8 import treecms.api.Forest; |
8 import treecms.api.MonotonicTree; | 9 import treecms.api.MonotonicTree; |
9 import treecms.api.Node; | |
10 import treecms.api.NodeID; | |
11 import treecms.api.SingleNode; | 10 import treecms.api.SingleNode; |
11 import treecms.api.MonotonicTreeNode; | |
12 import treecms.api.Tree; | 12 import treecms.api.Tree; |
13 import treecms.tree.util.NodeData; | 13 import treecms.tree.util.NodeChildrenImpl; |
14 import treecms.tree.util.NodeFinder; | |
14 | 15 |
15 public abstract class AbstractMonotonicTreeTest | 16 public abstract class AbstractMonotonicTreeTest |
16 { | 17 { |
17 public abstract Forest getForest(); | 18 public abstract Forest getForest(); |
18 | 19 |
19 @Test | 20 @Test |
20 public MonotonicTree testEdit() | 21 public void testInitialize() |
22 { | |
23 Forest f = getForest(); | |
24 Tree t = f.getMainTree(); | |
25 MonotonicTree mt = f.getMonotonicTree(t); | |
26 MonotonicTreeNode n = mt.getRoot(); | |
27 | |
28 Assert.assertEquals(true,t.getRoot().getID().equals(n.getID())); | |
29 } | |
30 | |
31 @Test | |
32 public void testEdit() | |
21 { | 33 { |
22 Forest forest = getForest(); | 34 Forest forest = getForest(); |
23 SingleNode root = forest.create(); | 35 SingleNode root = forest.create(); |
24 | 36 |
25 SingleNode n1 = forest.create(); | 37 SingleNode n1 = forest.create(); |
26 SingleNode n11 = forest.create(); | 38 SingleNode n11 = forest.create(); |
27 SingleNode n12 = forest.create(); | 39 SingleNode n12 = forest.create(); |
28 n1.addAll(Arrays.asList(n11,n12)); | 40 n1.addAll(new NodeChildrenImpl<SingleNode>(n11,n12)); |
29 | 41 |
30 Node n2 = forest.create(); | 42 SingleNode n2 = forest.create(); |
31 Node n21 = forest.create(); | 43 SingleNode n21 = forest.create(); |
32 Node n22 = forest.create(); | 44 SingleNode n22 = forest.create(); |
33 n2.addAll(Arrays.asList(n21,n22)); | 45 n2.addAll(new NodeChildrenImpl<SingleNode>(n21,n22)); |
34 | 46 |
35 Node n221 = forest.create(); | 47 SingleNode n221 = forest.create(); |
36 n22.add(n221); | 48 n22.add(n221); |
37 | 49 |
38 root.addAll(Arrays.asList(n1,n2)); | 50 root.addAll(new NodeChildrenImpl<SingleNode>(n1,n2)); |
39 | 51 |
40 TreeEditor editor = forest.getTreeEditor(forest.getTree(root)); | 52 MonotonicTree tree = forest.getMonotonicTree(forest.getTree(root)); |
53 NodeFinder<MonotonicTreeNode> finder = new NodeFinder<MonotonicTreeNode>(tree.getRoot()); | |
54 MonotonicTreeNode node = finder.findByNodeID(n221.getID()); | |
55 node.put(ByteBuffer.wrap("test".getBytes()),ByteBuffer.wrap("value".getBytes())); | |
41 | 56 |
42 //編集開始 | |
43 NodeData data = n221.getData(); | |
44 data.put(ByteBuffer.wrap("name".getBytes()),ByteBuffer.wrap("value".getBytes())); | |
45 | 57 |
46 try{ | |
47 Node new221 = editor.updateTree(n221,data); //n221を編集する。パスはroot -> n2 -> n22 -> n221となるはず | |
48 NodeID oldID = n221.getID(); | |
49 NodeID newID = new221.getID(); | |
50 | |
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()); | |
59 } | |
60 | |
61 return editor; | |
62 } | |
63 | |
64 @Test | |
65 public void testForceCommit() | |
66 { | |
67 testEdit(); | |
68 } | |
69 | |
70 @Test | |
71 public void testCommitFailsWhenTreeWasUpdated() | |
72 { | |
73 } | |
74 | |
75 @Test | |
76 public void testCheck() | |
77 { | |
78 } | |
79 | |
80 @Test | |
81 public void testUpdate() | |
82 { | |
83 } | 58 } |
84 } | 59 } |