Mercurial > hg > Members > kazuma > jungle-ormapper
diff src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/EditableAttributesTest.java @ 0:44465893e8b8
first Commit
author | Kazuma |
---|---|
date | Wed, 30 Nov 2016 01:47:55 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/EditableAttributesTest.java Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,99 @@ +/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor; + +import java.nio.ByteBuffer; + +import org.junit.Assert; + +import fj.P; +import fj.P2; +import fj.data.List; +import TreeNode; +import TreeNodeAttributes; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes; +import NodeEditorError; +import Either; +import Error; +import junit.framework.TestCase; + +public abstract class EditableAttributesTest<T extends TreeNode<T>> extends TestCase +{ + public abstract TreeNodeAttributes<T> instance(); + + @SuppressWarnings("unchecked") + public static final List<P2<String,ByteBuffer>> ENTRIES = List.list( + P.p("KEY1",ByteBuffer.wrap("VALUE1".getBytes())), + P.p("KEY2",ByteBuffer.wrap("VALUE2".getBytes())), + P.p("KEY3",ByteBuffer.wrap("VALUE3".getBytes())) + ); + + public TreeNodeAttributes<T> createTestData() + { + TreeNodeAttributes<T> instance = instance(); + + T node; + TreeNodeAttributes<T> attr = instance; + for(P2<String,ByteBuffer> entry : ENTRIES){ + Either<Error,T> either = attr.put(entry._1(),entry._2()); + if(either.isA()){ + Assert.fail("error during creating the data."); + } + + node = either.b(); + attr = node.getAttributes(); + } + + return attr; + } + + public void testPutDoesNotAcceptNullValue() + { + TreeNodeAttributes<T> instance = instance(); + + Either<Error,T> either = instance.put("KEY",null); + if(!either.isA()){ + Assert.fail("put must returns NULL_VALUE_NOT_ALLOWED when the value was null."); + } + + Assert.assertEquals(NodeEditorError.NULL_VALUE_NOT_ALLOWED,either.a()); + + either = instance.put(null,ByteBuffer.wrap("VALUE".getBytes())); + + if(!either.isA()){ + Assert.fail("put must returns NULL_VALUE_NOT_ALLOWED when the key was null."); + } + + Assert.assertEquals(NodeEditorError.NULL_VALUE_NOT_ALLOWED,either.a()); + } + + public void testPut() + { + createTestData(); + } + + public void testDeleteIfKeyExsist() + { + TreeNodeAttributes<T> attr = createTestData(); + + for(P2<String,ByteBuffer> entry : ENTRIES){ + Either<Error,T> either = attr.delete(entry._1()); + if(either.isA()){ + Assert.fail("error during deleting exist key."); + } + + attr = either.b().getAttributes(); + } + } + + public static final String DUMMY_KEY = "dummy"; + + public void testDeleteIfKeyNotExist() + { + TreeNodeAttributes<T> attr = createTestData(); + + Either<Error,T> either = attr.delete(DUMMY_KEY); + if(!either.isA()){ + Assert.fail("delete must returns DELETE_KEY_NOT_FOUND when the deleting invalid key."); + } + } +} +*/ \ No newline at end of file