Mercurial > hg > Members > shoshi > TreeCMSv2
view 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 source
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))); } }