annotate src/treecms/test/AbstractTreeTest.java @ 9:17ed97ca9960

commit
author shoshi
date Mon, 18 Apr 2011 01:07:27 +0900
parents src/treecms/test/TreeTest.java@12604eb6b615
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
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
3
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
4 import junit.framework.Assert;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
5 import org.junit.Test;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
6 import treecms.api.Tree;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
7
9
shoshi
parents: 6
diff changeset
8 /**
shoshi
parents: 6
diff changeset
9 * Tree実装の基本的なテスト
shoshi
parents: 6
diff changeset
10 * @author shoshi
shoshi
parents: 6
diff changeset
11 */
shoshi
parents: 6
diff changeset
12 public abstract class AbstractTreeTest extends AbstractNodeTest
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
13 {
9
shoshi
parents: 6
diff changeset
14 /**
shoshi
parents: 6
diff changeset
15 * インスタンスください
shoshi
parents: 6
diff changeset
16 * @return Tree
shoshi
parents: 6
diff changeset
17 */
shoshi
parents: 6
diff changeset
18 public abstract Tree getInstance();
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
19
9
shoshi
parents: 6
diff changeset
20 /**
shoshi
parents: 6
diff changeset
21 * 木のRootNodeが取得できるか確認する
shoshi
parents: 6
diff changeset
22 */
shoshi
parents: 6
diff changeset
23 @Test
shoshi
parents: 6
diff changeset
24 public void testGetRoot()
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
25 {
9
shoshi
parents: 6
diff changeset
26 Tree tree = getInstance();
shoshi
parents: 6
diff changeset
27 Assert.assertNotNull(tree.getRoot());
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
28 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
29
9
shoshi
parents: 6
diff changeset
30 /*
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
31 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
32 public void testUpdateTree()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
33 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
34 Node ch1 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
35 Node ch2 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
36
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
37 Node ch11 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
38 Node ch12 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
39
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
40 LinkedList<Node> list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
41 list.add(ch1);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
42 list.add(ch2);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
43
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
44 m_tree.getRoot().getData().add(list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
45
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
46 LinkedList<Node> ch1list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
47 ch1list.add(ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
48 ch1.getData().add(ch1list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
49
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
50 LinkedList<Node> ch2list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
51 ch2list.add(ch12);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
52 ch2.getData().add(ch2list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
53
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
54 LinkedList<Node> before = findPath(m_tree.getRoot(),ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
55 NodeData newData = ch11.getData().deepCopy();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
56 m_tree.updateTree(ch11,newData);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
57 LinkedList<Node> after = findPath(m_tree.getRoot(),ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
58
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
59 for(int i = 0;i < before.size();i ++){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
60 boolean result = before.get(i).getID().isFamily(after.get(i).getID());
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
61 Assert.assertEquals(true,result);
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
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
65 public LinkedList<Node> findPath(Node _from,Node _target)
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
66 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
67 if(_from.getID().isFamily(_target.getID())){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
68 LinkedList<Node> path = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
69 path.add(_from);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
70 return path;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
71 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
72
9
shoshi
parents: 6
diff changeset
73 for(Node child : _from.children()){
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
74 LinkedList<Node> path = findPath(child,_target);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
75 if(path != null){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
76 path.add(_from);
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 return null;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
81 }
9
shoshi
parents: 6
diff changeset
82 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
83 }