view src/treecms/test/AbstractForestTest.java @ 16:bb9760760744

commit
author shoshi
date Sat, 21 May 2011 04:46:00 +0900
parents 17ed97ca9960
children 168deb591f21
line wrap: on
line source

package treecms.test;

import junit.framework.Assert;
import org.junit.Test;
import treecms.api.Forest;
import treecms.api.NodeID;
import treecms.api.SingleNode;
import treecms.api.Tree;

/**
 * Forest実装の基本的なテスト
 * @author shoshi
 */
public abstract class AbstractForestTest
{
	/**
	 * 基本的なテストを実装するためにはこのメソッドでインスタンスを返す。
	 * @return Forest
	 */
	public abstract Forest getInstance();
	
	/**
	 * Node作成テスト 
	 * 新しく作成されたNodeがnullでなければOK
	 */
	@Test
	public void testCreateNode()
	{
		Forest forest = getInstance();
		SingleNode newNode = forest.create();
		Assert.assertNotNull(newNode);
	}
	
	/**
	 * Node取得テスト
	 * 新しく作成されたNodeからNodeIDを取得し、ForestよりNodeを再取得する 
	 */
	@Test
	public void testGetNode()
	{
		Forest forest = getInstance();
		SingleNode newNode = forest.create();
		NodeID newID = newNode.getID();
		
		SingleNode node = forest.get(newID);
		
		Assert.assertEquals(newNode,node);
	}
	
	/**
	 * NodeのTip(最新版)の取得テスト
	 * 新しく作成されたNodeのUUIDを抜き出し、Forestよりtipを取得する
	 */
	@Test
	public void testGetTip()
	{
		Forest forest = getInstance();
		SingleNode newNode = forest.create();
		NodeID newID = newNode.getID();
		
		SingleNode tip = forest.getTip(newID.getUUID());
		
		Assert.assertEquals(newNode,tip);
	}
	
	/**
	 * NodeIDを更新したものを作成したとき、きちんと登録されているかテスト 
	 */
	@Test
	public void updateTest()
	{
		
	}
	
	/**
	 * MainTreeが取得できるかテストします。
	 * MainTreeとは、コンテンツ全体を含むツリーです
	 */
	@Test
	public void testGetMainTree()
	{
		Forest forest = getInstance();
		Tree contents = forest.getMainTree();
		
		Assert.assertNotNull(contents);
	}
}