view src/treecms/proto/test/NodeTest.java @ 50:a72718a0bccf

added demo tree builder
author shoshi
date Tue, 01 Feb 2011 16:28:49 +0900
parents e647bb37b7ad
children 1b78f1f3add3
line wrap: on
line source

package treecms.proto.test;

import static org.hamcrest.core.IsNull.notNullValue;
import static org.hamcrest.core.IsNot.not;

import org.junit.Test;
import org.junit.Assert;
import treecms.proto.api.*;
import java.util.List;

public class NodeTest
{
	private Node m_node;
	
	protected NodeTest(Node _node)
	{
		m_node = _node.createNode();
	}
	
	@Test
	public void testCreateNode()
	{
		Node node = m_node.cloneNode();
		Assert.assertThat(node,notNullValue());
		
		String clsName = "test1";
		node.setClassName(clsName);
		Assert.assertEquals(node.getClassName(),clsName);
		
		String title = "test2";
		node.setTitle(title);
		Assert.assertEquals(node.getTitle(),title);
	}
	
	@Test
	public void testClone()
	{
		Node node = m_node.cloneNode();
		
		String clsName = "test1";
		node.setClassName(clsName);
		
		String title = "test2";
		node.setTitle(title);
		
		Node clone = node.cloneNode();
		Assert.assertThat(clone.getID(),not(node.getID()));
		Assert.assertEquals(node.getClassName(),clone.getClassName());
		Assert.assertEquals(node.getTitle(),clone.getTitle());
	}
	
	@Test
	public void testChildOperation()
	{
		//check that correctly added.
		Node child1 = m_node.createNode();
		m_node.addChild(child1);
		Node child2 = m_node.createNode();
		m_node.addChild(child2);
		Node child3 = m_node.createNode();
		m_node.addChild(child3);
		
		List<Node> children = m_node.getChildren();
		Assert.assertEquals(children.size(),3);
		Assert.assertEquals(children.get(0).getID().equals(child1.getID()),true);
		Assert.assertEquals(children.get(1).getID().equals(child2.getID()),true);
		Assert.assertEquals(children.get(2).getID().equals(child3.getID()),true);
	}
	
	@Test
	public void testRemoveChild()
	{
		//remove
		Node child1 = m_node.createNode();
		m_node.addChild(child1);
		Node child2 = m_node.createNode();
		m_node.addChild(child2);
		Node child3 = m_node.createNode();
		m_node.addChild(child3);
		
		m_node.removeChild(child2);
		
		List<Node> children = m_node.getChildren();
		Assert.assertEquals(children.get(0).getID().equals(child1.getID()),true);
		Assert.assertEquals(children.get(1).getID().equals(child3.getID()),true);
	}
	
	@Test
	public void testUpOperation()
	{
		//up
		Node child1 = m_node.createNode();
		m_node.addChild(child1);
		Node child2 = m_node.createNode();
		m_node.addChild(child2);
		Node child3 = m_node.createNode();
		m_node.addChild(child3);
		m_node.up(child2);
		
		List<Node> children = m_node.getChildren();
		Assert.assertEquals(children.get(0).getID().equals(child2.getID()),true);
		Assert.assertEquals(children.get(1).getID().equals(child1.getID()),true);
		Assert.assertEquals(children.get(2).getID().equals(child3.getID()),true);
	}
	
	@Test
	public void testDownOperation()
	{
		Node child1 = m_node.createNode();
		m_node.addChild(child1);
		Node child2 = m_node.createNode();
		m_node.addChild(child2);
		Node child3 = m_node.createNode();
		m_node.addChild(child3);
		m_node.down(child2);
		
		List<Node> children = m_node.getChildren();
		Assert.assertEquals(children.get(0).getID().equals(child1.getID()),true);
		Assert.assertEquals(children.get(1).getID().equals(child3.getID()),true);
		Assert.assertEquals(children.get(2).getID().equals(child2.getID()),true);
	}
	
	@Test
	public void testReplaceOperation()
	{
		//replace
		Node child1 = m_node.createNode();
		m_node.addChild(child1);
		Node child2 = m_node.createNode();
		m_node.addChild(child2);
		Node child3 = m_node.createNode();
		m_node.addChild(child3);
		Node node = m_node.cloneNode();
		m_node.replace(child2,node);
		
		List<Node> children = m_node.getChildren();
		Assert.assertEquals(children.get(0).getID().equals(child1.getID()),true);
		Assert.assertEquals(children.get(1).getID().equals(node.getID()),true);
		Assert.assertEquals(children.get(2).getID().equals(child3.getID()),true);
	}
	
	@Test
	public void testChildrenOperation()
	{
		m_node.addChild(m_node.createNode());
		m_node.addChild(m_node.createNode());
		m_node.addChild(m_node.createNode());
		
		Assert.assertEquals(3,m_node.getChildren().size());
		
		Node node = m_node.createNode();
		node.addChildren(m_node.getChildren());
		Assert.assertEquals(3,node.getChildren().size());
	}
	
	@Test
	public void testAttributeOperation()
	{
		String key = "test";
		String value = "value";
		m_node.setAttribute(key,value);
		
		Assert.assertEquals(true,value.equals(m_node.getAttribute(key)));
	}
}