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