annotate src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/nodeeditor/EditableAttributesTest.java @ 81:715a9fbf02fc

remove <T> many source
author one
date Sun, 31 Aug 2014 07:46:30 +0900
parents a833000f64bf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
81
715a9fbf02fc remove <T> many source
one
parents: 80
diff changeset
1 /*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.nodeeditor;
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
2
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
3 import java.nio.ByteBuffer;
80
a833000f64bf test program repair
one
parents: 41
diff changeset
4
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
5 import org.junit.Assert;
80
a833000f64bf test program repair
one
parents: 41
diff changeset
6
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
7 import fj.P;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
8 import fj.P2;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
9 import fj.data.List;
80
a833000f64bf test program repair
one
parents: 41
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
a833000f64bf test program repair
one
parents: 41
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNodeAttributes;
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableAttributes;
41
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditorError;
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
16 import junit.framework.TestCase;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
17
80
a833000f64bf test program repair
one
parents: 41
diff changeset
18 public abstract class EditableAttributesTest<T extends TreeNode<T>> extends TestCase
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
19 {
80
a833000f64bf test program repair
one
parents: 41
diff changeset
20 public abstract TreeNodeAttributes<T> instance();
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
21
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
22 @SuppressWarnings("unchecked")
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
23 public static final List<P2<String,ByteBuffer>> ENTRIES = List.list(
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
24 P.p("KEY1",ByteBuffer.wrap("VALUE1".getBytes())),
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
25 P.p("KEY2",ByteBuffer.wrap("VALUE2".getBytes())),
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
26 P.p("KEY3",ByteBuffer.wrap("VALUE3".getBytes()))
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
27 );
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
28
80
a833000f64bf test program repair
one
parents: 41
diff changeset
29 public TreeNodeAttributes<T> createTestData()
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
30 {
80
a833000f64bf test program repair
one
parents: 41
diff changeset
31 TreeNodeAttributes<T> instance = instance();
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
32
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
33 T node;
80
a833000f64bf test program repair
one
parents: 41
diff changeset
34 TreeNodeAttributes<T> attr = instance;
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
35 for(P2<String,ByteBuffer> entry : ENTRIES){
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
36 Either<Error,T> either = attr.put(entry._1(),entry._2());
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
37 if(either.isA()){
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
38 Assert.fail("error during creating the data.");
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
39 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
41 node = either.b();
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
42 attr = node.getAttributes();
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
43 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
44
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
45 return attr;
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
46 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
47
41
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
48 public void testPutDoesNotAcceptNullValue()
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
49 {
80
a833000f64bf test program repair
one
parents: 41
diff changeset
50 TreeNodeAttributes<T> instance = instance();
41
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
51
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
52 Either<Error,T> either = instance.put("KEY",null);
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
53 if(!either.isA()){
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
54 Assert.fail("put must returns NULL_VALUE_NOT_ALLOWED when the value was null.");
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
55 }
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
56
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
57 Assert.assertEquals(NodeEditorError.NULL_VALUE_NOT_ALLOWED,either.a());
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
58
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
59 either = instance.put(null,ByteBuffer.wrap("VALUE".getBytes()));
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
60
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
61 if(!either.isA()){
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
62 Assert.fail("put must returns NULL_VALUE_NOT_ALLOWED when the key was null.");
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
63 }
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
64
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
65 Assert.assertEquals(NodeEditorError.NULL_VALUE_NOT_ALLOWED,either.a());
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
66 }
ed6737db637a added tests
Shoshi TAMAKI
parents: 40
diff changeset
67
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
68 public void testPut()
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
69 {
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
70 createTestData();
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
71 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
72
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
73 public void testDeleteIfKeyExsist()
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
74 {
80
a833000f64bf test program repair
one
parents: 41
diff changeset
75 TreeNodeAttributes<T> attr = createTestData();
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
76
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
77 for(P2<String,ByteBuffer> entry : ENTRIES){
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
78 Either<Error,T> either = attr.delete(entry._1());
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
79 if(either.isA()){
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
80 Assert.fail("error during deleting exist key.");
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
81 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
82
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
83 attr = either.b().getAttributes();
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
84 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
85 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
86
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
87 public static final String DUMMY_KEY = "dummy";
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
88
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
89 public void testDeleteIfKeyNotExist()
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
90 {
80
a833000f64bf test program repair
one
parents: 41
diff changeset
91 TreeNodeAttributes<T> attr = createTestData();
40
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
92
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
93 Either<Error,T> either = attr.delete(DUMMY_KEY);
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
94 if(!either.isA()){
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
95 Assert.fail("delete must returns DELETE_KEY_NOT_FOUND when the deleting invalid key.");
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
96 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
97 }
6decea87ef88 forgot to add files
Shoshi TAMAKI
parents:
diff changeset
98 }
81
715a9fbf02fc remove <T> many source
one
parents: 80
diff changeset
99 */