1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.jci.stores;
19
20 import org.apache.commons.jci.AbstractTestCase;
21 import org.apache.commons.lang.ArrayUtils;
22
23
24
25
26
27
28 public final class ResourceStoreTestCase extends AbstractTestCase {
29
30 public void testMemoryResourceStore() {
31 checkReadWrite(new MemoryResourceStore());
32 checkRemove(new MemoryResourceStore());
33 }
34
35 public void testFileResourceStore() {
36 checkReadWrite(new FileResourceStore(directory));
37 checkRemove(new FileResourceStore(directory));
38 }
39
40 public void testTransactionalFileResourceStore() {
41 checkReadWrite(new TransactionalResourceStore(new FileResourceStore(directory)));
42 checkRemove(new TransactionalResourceStore(new FileResourceStore(directory)));
43
44 final ResourceStore rs = new FileResourceStore(directory);
45 final TransactionalResourceStore trs = new TransactionalResourceStore(rs);
46 assertEquals(rs.toString(), trs.toString());
47 }
48
49 private void checkReadWrite( final ResourceStore pStore ) {
50 final byte[] data = { 1, 2, 3 };
51 pStore.write("key", data);
52
53 final byte[] read = pStore.read("key");
54
55 assertTrue(read != null);
56 assertTrue(ArrayUtils.isEquals(data, read));
57 }
58
59 private void checkRemove( final ResourceStore pStore ) {
60 final byte[] data = { 1, 2, 3 };
61 pStore.write("key", data);
62
63 final byte[] read = pStore.read("key");
64
65 assertTrue(read != null);
66 assertTrue(ArrayUtils.isEquals(data, read));
67
68 pStore.remove("key");
69
70 final byte[] empty = pStore.read("key");
71
72 assertTrue(empty == null);
73 }
74 }