1 package org.apache.commons.jcs.utils.struct;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Map;
23 import java.util.Map.Entry;
24 import java.util.Set;
25
26 import junit.framework.TestCase;
27
28
29
30
31
32
33
34 public class LRUMapUnitTest
35 extends TestCase
36 {
37
38
39
40
41
42 public void testPutWithSizeLimit()
43 {
44 int size = 10;
45 Map<String, String> cache = new LRUMap<String, String>( size );
46
47 for ( int i = 0; i < size; i++ )
48 {
49 cache.put( "key:" + i, "data:" + i );
50 }
51
52 for ( int i = 0; i < size; i++ )
53 {
54 String data = cache.get( "key:" + i );
55 assertEquals( "Data is wrong.", "data:" + i, data );
56 }
57 }
58
59
60
61
62
63 public void testPutWithNoSizeLimit()
64 {
65 int size = 10;
66 Map<String, String> cache = new LRUMap<String, String>( );
67
68 for ( int i = 0; i < size; i++ )
69 {
70 cache.put( "key:" + i, "data:" + i );
71 }
72
73 for ( int i = 0; i < size; i++ )
74 {
75 String data = cache.get( "key:" + i );
76 assertEquals( "Data is wrong.", "data:" + i, data );
77 }
78 }
79
80
81
82
83
84 public void testPutAndRemove()
85 {
86 int size = 10;
87 Map<String, String> cache = new LRUMap<String, String>( size );
88
89 cache.put( "key:" + 1, "data:" + 1 );
90 String data = cache.remove( "key:" + 1 );
91 assertEquals( "Data is wrong.", "data:" + 1, data );
92 }
93
94
95
96
97
98 public void testRemoveEmpty()
99 {
100 int size = 10;
101 Map<String, String> cache = new LRUMap<String, String>( size );
102
103 Object returned = cache.remove( "key:" + 1 );
104 assertNull( "Shouldn't hvae anything.", returned );
105 }
106
107
108
109
110
111
112 public void testGetEntrySet()
113 {
114 int size = 10;
115 Map<String, String> cache = new LRUMap<String, String>( size );
116
117 for ( int i = 0; i < size; i++ )
118 {
119 cache.put( "key:" + i, "data:" + i );
120 }
121
122 Set<Entry<String, String>> entries = cache.entrySet();
123 assertEquals( "Set contains the wrong number of items.", size, entries.size() );
124
125
126 for (Entry<String, String> data : entries)
127 {
128 assertTrue( "Data is wrong.", data.getValue().indexOf( "data:") != -1 );
129 }
130 }
131
132
133 }