view src/treecms/test/AbstractMonotonicTreeTest.java @ 17:168deb591f21

commit
author shoshi
date Tue, 24 May 2011 00:33:12 +0900
parents bb9760760744
children
line wrap: on
line source

package treecms.test;

import java.nio.ByteBuffer;

import junit.framework.Assert;

import org.junit.Test;
import treecms.api.Forest;
import treecms.api.MonotonicTree;
import treecms.api.SingleNode;
import treecms.api.MonotonicTreeNode;
import treecms.api.Tree;
import treecms.tree.util.NodeChildrenImpl;
import treecms.tree.util.NodeFinder;

public abstract class AbstractMonotonicTreeTest
{
	public abstract Forest getForest();
	
	@Test
	public void testInitialize()
	{
		Forest f = getForest();
		Tree t = f.getMainTree();
		MonotonicTree mt = f.getMonotonicTree(t);
		MonotonicTreeNode n = mt.getRoot();
		
		Assert.assertEquals(true,t.getRoot().getID().equals(n.getID()));
	}
	
	@Test
	public void testEdit()
	{
		Forest forest = getForest();
		SingleNode root = forest.create();
		
		SingleNode n1 = forest.create();
		SingleNode n11 = forest.create();
		SingleNode n12 = forest.create();
		n1.addAll(new NodeChildrenImpl<SingleNode>(n11,n12));
		
		SingleNode n2 = forest.create();
		SingleNode n21 = forest.create();
		SingleNode n22 = forest.create();
		n2.addAll(new NodeChildrenImpl<SingleNode>(n21,n22));
		
		SingleNode n221 = forest.create();
		n22.add(n221);
		
		root.addAll(new NodeChildrenImpl<SingleNode>(n1,n2));
		
		MonotonicTree tree = forest.getMonotonicTree(forest.getTree(root));
		NodeFinder<MonotonicTreeNode> finder = new NodeFinder<MonotonicTreeNode>(tree.getRoot());
		MonotonicTreeNode node = finder.findByNodeID(n221.getID());
		node.put(ByteBuffer.wrap("test".getBytes()),ByteBuffer.wrap("value".getBytes()));
		
		
	}
}