annotate src/treecms/test/TreeTest.java @ 6:12604eb6b615

added javadoc
author shoshi
date Mon, 14 Mar 2011 23:24:38 +0900
parents 87bba22e4fa2
children
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 import java.util.LinkedList;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
4
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
5 import junit.framework.Assert;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
6
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
7 import org.junit.Test;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
8
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
9 import treecms.api.Node;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
10 import treecms.api.NodeData;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
11 import treecms.api.Tree;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
12
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
13 public class TreeTest
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
14 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
15 Tree m_tree;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
16
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
17 public TreeTest(Tree _tree)
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
18 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
19 m_tree = _tree;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
20 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
21
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
22 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
23 public void testUpdateTree()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
24 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
25 Node ch1 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
26 Node ch2 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
27
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
28 Node ch11 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
29 Node ch12 = m_tree.getForest().create();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
30
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
31 LinkedList<Node> list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
32 list.add(ch1);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
33 list.add(ch2);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
34
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
35 m_tree.getRoot().getData().add(list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
36
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
37 LinkedList<Node> ch1list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
38 ch1list.add(ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
39 ch1.getData().add(ch1list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
40
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
41 LinkedList<Node> ch2list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
42 ch2list.add(ch12);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
43 ch2.getData().add(ch2list);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
44
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
45 LinkedList<Node> before = findPath(m_tree.getRoot(),ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
46 NodeData newData = ch11.getData().deepCopy();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
47 m_tree.updateTree(ch11,newData);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
48 LinkedList<Node> after = findPath(m_tree.getRoot(),ch11);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
49
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
50 for(int i = 0;i < before.size();i ++){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
51 boolean result = before.get(i).getID().isFamily(after.get(i).getID());
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
52 Assert.assertEquals(true,result);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
53 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
54 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
55
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
56 public LinkedList<Node> findPath(Node _from,Node _target)
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
57 {
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
58 if(_from.getID().isFamily(_target.getID())){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
59 LinkedList<Node> path = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
60 path.add(_from);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
61 return path;
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 for(Node child : _from.getData().list()){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
65 LinkedList<Node> path = findPath(child,_target);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
66 if(path != null){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
67 path.add(_from);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
68 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
69 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
70
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
71 return null;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
72 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
73 }