Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/EditableChildrenTest.java @ 108:69bbf08894aa
move
author | one |
---|---|
date | Fri, 12 Sep 2014 21:53:52 +0900 |
parents | a833000f64bf |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor; import java.nio.ByteBuffer; /*import org.junit.Assert; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditorError; 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.TestCase; public abstract class EditableChildrenTest<T extends EditableNode<T>> extends TestCase { public abstract EditableChildren<T> instance(); public static final String KEY = "KEY"; public static final ByteBuffer VALUE = ByteBuffer.wrap("VALUE".getBytes()); public void testAddNewChildAtMuinusValue() { EditableChildren<T> children = instance(); Either<Error,T> either = children.addNewChildAt(-1); if(!either.isA()){ Assert.fail("addNewChildAt(-1) must returns INDEX_OUT_OF_BOUNDS Error"); } Error e = either.a(); Assert.assertSame(e,NodeEditorError.INDEX_OUT_OF_BOUNDS); } public void testAddNewChildAtOutOfBounds() { EditableChildren<T> children = instance(); Either<Error,T> either = children.addNewChildAt(1); if(!either.isA()){ Assert.fail("addNewChildAt(1) must returns INDEX_OUT_OF_BOUNDS Error"); } Error e = either.a(); Assert.assertSame(e,NodeEditorError.INDEX_OUT_OF_BOUNDS); } public void testAddNewChildAtMiddle() { EditableChildren<T> children = instance(); for(int i = 0;i < 3;i ++){ Either<Error,T> either = children.addNewChildAt(0); if(either.isA()){ Assert.fail("fail when adding new child to head"); } children = either.b().getChildren(); } Either<Error, T> either = children.addNewChildAt(1); if(either.isA()){ Assert.fail("fail when adding new child to middle (1)"); } // size must be 4 children = either.b().getChildren(); Assert.assertEquals(4,children.size()); } public void testAddNewChildAtToHead() { EditableChildren<T> children = instance(); int size = children.size(); Either<Error,T> either = children.addNewChildAt(0); if(either.isA()){ Assert.fail("error during add new child to head"); } children = either.b().getChildren(); Assert.assertEquals(size + 1,children.size()); } public void testDeleteChildAtMuinusValue() { EditableChildren<T> children = instance(); Either<Error,T> either = children.deleteChildAt(-1); if(!either.isA()){ Assert.fail("deleteChildAt(-1) must returns INDEX_OUT_OF_BOUNDS Error"); } Error e = either.a(); Assert.assertSame(e,NodeEditorError.INDEX_OUT_OF_BOUNDS); } public void testDeleteChildAtOutOfBounds() { EditableChildren<T> children = instance(); Either<Error,T> either = children.deleteChildAt(1); if(!either.isA()){ Assert.fail("deleteChildAt(1) must returns INDEX_OUT_OF_BOUNDS Error"); } Error e = either.a(); Assert.assertSame(e,NodeEditorError.INDEX_OUT_OF_BOUNDS); } public void testDeleteChildAtFailsWhenTheSizeIsZero() { EditableChildren<T> children = instance(); Either<Error,T> either = children.deleteChildAt(0); if(!either.isA()){ Assert.fail("deleteChildAt(1) must returns INDEX_OUT_OF_BOUNDS Error"); } Error e = either.a(); Assert.assertSame(e,NodeEditorError.INDEX_OUT_OF_BOUNDS); } public void testDeleteChildAt() { EditableChildren<T> children = instance(); int size = children.size(); Either<Error,T> either = children.addNewChildAt(0); if(either.isA()){ Assert.fail("error during add new child to head"); } children = either.b().getAttributes().put(KEY,VALUE).b().getChildren(); Assert.assertEquals(size + 1,children.size()); either = children.deleteChildAt(0); if(either.isA()){ Assert.fail("error during deleting child"); } children = either.b().getChildren(); Assert.assertEquals(size,children.size()); } }*/