view src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/DeleteAttributeAtTest.java @ 42:a545fe750a78

added more tests
author Shoshi TAMAKI
date Thu, 31 Jan 2013 00:09:51 +0900
parents
children 650fe2a0dccc
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor;

import java.nio.ByteBuffer;

import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteAttribute;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.ClonableDefaultNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
import junit.framework.Assert;
import junit.framework.TestCase;

public class DeleteAttributeAtTest extends TestCase
{
	public void testEdit()
	{
		String key = "KEY";
		ByteBuffer value = ByteBuffer.wrap(key.getBytes());
		
		ClonableDefaultNode node = new ClonableDefaultNode(new DefaultNode());
		Either<Error,ClonableDefaultNode> either = node.getAttributes().put(key, value);
		if(either.isA()){
			Assert.fail();
		}
		node = either.b();
		
		DeleteAttribute op = new DeleteAttribute(key);
		either = op.edit(node);
		if(either.isA()){
			Assert.fail();
		}
		ClonableDefaultNode newNode = either.b();
		ByteBuffer ret = newNode.getAttributes().get(key);
		Assert.assertNull(ret);
	}
}