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

commit
author shoshi
date Mon, 18 Apr 2011 01:07:27 +0900
parents src/treecms/test/NodeTest.java@87bba22e4fa2
children bb9760760744
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: 5
diff changeset
3 import java.nio.ByteBuffer;
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
4 import java.util.LinkedList;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
5 import java.util.List;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
6
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
7 import junit.framework.Assert;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
8
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
9 import org.junit.Test;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
10
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
11 import treecms.api.Node;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
12 import treecms.api.NodeID;
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
13
9
shoshi
parents: 5
diff changeset
14 /**
shoshi
parents: 5
diff changeset
15 * Node実装の基本的なテスト
shoshi
parents: 5
diff changeset
16 * @author shoshi
shoshi
parents: 5
diff changeset
17 */
shoshi
parents: 5
diff changeset
18 public abstract class AbstractNodeTest
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
19 {
9
shoshi
parents: 5
diff changeset
20 /**
shoshi
parents: 5
diff changeset
21 * テストに用いるNodeを実装者は返す
shoshi
parents: 5
diff changeset
22 * @return Node
shoshi
parents: 5
diff changeset
23 */
shoshi
parents: 5
diff changeset
24 public abstract Node getInstance();
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
25
9
shoshi
parents: 5
diff changeset
26 /**
shoshi
parents: 5
diff changeset
27 * NodeID取得のテスト
shoshi
parents: 5
diff changeset
28 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
29 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
30 public void testGetID()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
31 {
9
shoshi
parents: 5
diff changeset
32 Assert.assertNotNull(getInstance().getID());
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
33 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
34
9
shoshi
parents: 5
diff changeset
35 /**
shoshi
parents: 5
diff changeset
36 * Nodeのデータ(子供Nodeや属性のマップ)
shoshi
parents: 5
diff changeset
37 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
38 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
39 public void testGetData()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
40 {
9
shoshi
parents: 5
diff changeset
41 Assert.assertNotNull(getInstance().getData());
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
42 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
43
9
shoshi
parents: 5
diff changeset
44 /**
shoshi
parents: 5
diff changeset
45 * NodeからForestを取得するテスト
shoshi
parents: 5
diff changeset
46 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
47 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
48 public void testGetForest()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
49 {
9
shoshi
parents: 5
diff changeset
50 Assert.assertNotNull(getInstance().getForest());
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
51 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
52
9
shoshi
parents: 5
diff changeset
53 /**
shoshi
parents: 5
diff changeset
54 * Nodeに子供Nodeを追加するテスト
shoshi
parents: 5
diff changeset
55 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
56 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
57 public void testAddChildren()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
58 {
9
shoshi
parents: 5
diff changeset
59 Node node = getInstance();
shoshi
parents: 5
diff changeset
60
shoshi
parents: 5
diff changeset
61 Node ch1 = node.getForest().create();
shoshi
parents: 5
diff changeset
62 Node ch2 = node.getForest().create();
shoshi
parents: 5
diff changeset
63 Node ch3 = node.getForest().create();
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
64
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
65 LinkedList<Node> list = new LinkedList<Node>();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
66 list.add(ch1);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
67 list.add(ch2);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
68 list.add(ch3);
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
69
9
shoshi
parents: 5
diff changeset
70 node.addAll(list);
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
71
9
shoshi
parents: 5
diff changeset
72 List<Node> children = node.children();
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
73 for(int i = 0;i < list.size();i ++){
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
74 NodeID id1 = children.get(i).getID();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
75 NodeID id2 = list.get(i).getID();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
76
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
77 Assert.assertEquals(true,id1.equals(id2));
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
9
shoshi
parents: 5
diff changeset
81 /**
shoshi
parents: 5
diff changeset
82 * Nodeにセットした属性を取り出すテスト
shoshi
parents: 5
diff changeset
83 */
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
84 @Test
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
85 public void testSetAndGetAttribute()
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
86 {
9
shoshi
parents: 5
diff changeset
87 Node node = getInstance();
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
88 byte[] name = "test".getBytes();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
89 byte[] value = "test".getBytes();
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
90
9
shoshi
parents: 5
diff changeset
91 node.put(ByteBuffer.wrap(name),ByteBuffer.wrap(value));
shoshi
parents: 5
diff changeset
92 Assert.assertEquals(true,node.get(ByteBuffer.wrap(name)).equals(ByteBuffer.wrap(value)));
5
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
93 }
87bba22e4fa2 added test case
shoshi
parents:
diff changeset
94 }