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.lang3.ArrayUtils;
22
23
24
25
26
27 public final class ResourceStoreTestCase extends AbstractTestCase {
28
29 public void testMemoryResourceStore() {
30 checkReadWrite(new MemoryResourceStore());
31 checkRemove(new MemoryResourceStore());
32 }
33
34 public void testFileResourceStore() {
35 checkReadWrite(new FileResourceStore(directory));
36 checkRemove(new FileResourceStore(directory));
37 }
38
39 public void testTransactionalFileResourceStore() {
40 checkReadWrite(new TransactionalResourceStore(new FileResourceStore(directory)));
41 checkRemove(new TransactionalResourceStore(new FileResourceStore(directory)));
42
43 final ResourceStore rs = new FileResourceStore(directory);
44 final TransactionalResourceStore trs = new TransactionalResourceStore(rs);
45 assertEquals(rs.toString(), trs.toString());
46 }
47
48 private void checkReadWrite( final ResourceStore pStore ) {
49 final byte[] data = { 1, 2, 3 };
50 pStore.write("key", data);
51
52 final byte[] read = pStore.read("key");
53
54 assertTrue(read != null);
55 assertTrue(ArrayUtils.isEquals(data, read));
56 }
57
58 private void checkRemove( final ResourceStore pStore ) {
59 final byte[] data = { 1, 2, 3 };
60 pStore.write("key", data);
61
62 final byte[] read = pStore.read("key");
63
64 assertTrue(read != null);
65 assertTrue(ArrayUtils.isEquals(data, read));
66
67 pStore.remove("key");
68
69 final byte[] empty = pStore.read("key");
70
71 assertTrue(empty == null);
72 }
73 }