Mercurial > hg > Members > shoshi > TreeCMSv2
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/test/AbstractNodeTest.java Mon Apr 18 01:07:27 2011 +0900 @@ -0,0 +1,94 @@ +package treecms.test; + +import java.nio.ByteBuffer; +import java.util.LinkedList; +import java.util.List; + +import junit.framework.Assert; + +import org.junit.Test; + +import treecms.api.Node; +import treecms.api.NodeID; + +/** + * Node実装の基本的なテスト + * @author shoshi + */ +public abstract class AbstractNodeTest +{ + /** + * テストに用いるNodeを実装者は返す + * @return Node + */ + public abstract Node getInstance(); + + /** + * NodeID取得のテスト + */ + @Test + public void testGetID() + { + Assert.assertNotNull(getInstance().getID()); + } + + /** + * Nodeのデータ(子供Nodeや属性のマップ) + */ + @Test + public void testGetData() + { + Assert.assertNotNull(getInstance().getData()); + } + + /** + * NodeからForestを取得するテスト + */ + @Test + public void testGetForest() + { + Assert.assertNotNull(getInstance().getForest()); + } + + /** + * Nodeに子供Nodeを追加するテスト + */ + @Test + public void testAddChildren() + { + Node node = getInstance(); + + Node ch1 = node.getForest().create(); + Node ch2 = node.getForest().create(); + Node ch3 = node.getForest().create(); + + LinkedList<Node> list = new LinkedList<Node>(); + list.add(ch1); + list.add(ch2); + list.add(ch3); + + node.addAll(list); + + List<Node> children = node.children(); + for(int i = 0;i < list.size();i ++){ + NodeID id1 = children.get(i).getID(); + NodeID id2 = list.get(i).getID(); + + Assert.assertEquals(true,id1.equals(id2)); + } + } + + /** + * Nodeにセットした属性を取り出すテスト + */ + @Test + public void testSetAndGetAttribute() + { + Node node = getInstance(); + byte[] name = "test".getBytes(); + byte[] value = "test".getBytes(); + + node.put(ByteBuffer.wrap(name),ByteBuffer.wrap(value)); + Assert.assertEquals(true,node.get(ByteBuffer.wrap(name)).equals(ByteBuffer.wrap(value))); + } +}