01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
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: * @author tcurdt
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(
41: new FileResourceStore(directory)));
42: checkRemove(new TransactionalResourceStore(
43: new FileResourceStore(directory)));
44: }
45:
46: private void checkReadWrite(final ResourceStore pStore) {
47: final byte[] data = { 1, 2, 3 };
48: pStore.write("key", data);
49:
50: final byte[] read = pStore.read("key");
51:
52: assertTrue(read != null);
53: assertTrue(ArrayUtils.isEquals(data, read));
54: }
55:
56: private void checkRemove(final ResourceStore pStore) {
57: final byte[] data = { 1, 2, 3 };
58: pStore.write("key", data);
59:
60: final byte[] read = pStore.read("key");
61:
62: assertTrue(read != null);
63: assertTrue(ArrayUtils.isEquals(data, read));
64:
65: pStore.remove("key");
66:
67: final byte[] empty = pStore.read("key");
68:
69: assertTrue(empty == null);
70: }
71: }
|