1 package org.apache.commons.jcs;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import junit.framework.Test;
23 import junit.framework.TestCase;
24 import junit.framework.TestSuite;
25 import org.apache.commons.jcs.access.CacheAccess;
26
27 import java.util.HashMap;
28 import java.util.LinkedList;
29 import java.util.Random;
30
31
32
33
34 public class JCSUnitTest
35 extends TestCase
36 {
37
38 Random random = new Random();
39
40
41
42
43 public JCSUnitTest( String testName )
44 {
45 super( testName );
46 }
47
48
49
50
51 public static Test suite()
52 {
53 return new TestSuite( JCSUnitTest.class );
54 }
55
56
57
58
59 public static void main( String args[] )
60 {
61 String[] testCaseName = { JCSUnitTest.class.getName() };
62 junit.textui.TestRunner.main( testCaseName );
63 }
64
65
66
67
68 public void testJCS()
69 throws Exception
70 {
71 CacheAccess<String, LinkedList<HashMap<String, String>>> jcs = JCS.getInstance( "testCache1" );
72
73 LinkedList<HashMap<String, String>> list = buildList();
74
75 jcs.put( "some:key", list );
76
77 assertEquals( list, jcs.get( "some:key" ) );
78 }
79
80
81
82
83 private LinkedList<HashMap<String, String>> buildList()
84 {
85 LinkedList<HashMap<String, String>> list = new LinkedList<HashMap<String,String>>();
86
87 for ( int i = 0; i < 100; i++ )
88 {
89 list.add( buildMap() );
90 }
91
92 return list;
93 }
94
95
96
97
98 private HashMap<String, String> buildMap()
99 {
100 HashMap<String, String> map = new HashMap<String, String>();
101
102 byte[] keyBytes = new byte[32];
103 byte[] valBytes = new byte[128];
104
105 for ( int i = 0; i < 10; i++ )
106 {
107 random.nextBytes( keyBytes );
108 random.nextBytes( valBytes );
109
110 map.put( new String( keyBytes ), new String( valBytes ) );
111 }
112
113 return map;
114 }
115 }