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