01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.objectserver.impl;
05:
06: import com.tc.objectserver.api.ObjectInstanceMonitor;
07:
08: import java.util.Collections;
09: import java.util.Map;
10:
11: import junit.framework.TestCase;
12:
13: public class ObjectInstanceMonitorTest extends TestCase {
14:
15: public void test() {
16:
17: ObjectInstanceMonitor monitor = new ObjectInstanceMonitorImpl();
18: assertEquals(Collections.EMPTY_MAP, monitor.getInstanceCounts());
19:
20: monitor.instanceCreated("timmy");
21: monitor.instanceCreated("timmy");
22: monitor.instanceCreated("timmy");
23:
24: Map counts;
25: counts = monitor.getInstanceCounts();
26: assertEquals(1, counts.size());
27: assertEquals(new Integer(3), counts.get("timmy"));
28:
29: monitor.instanceCreated("timmy2");
30: counts = monitor.getInstanceCounts();
31: assertEquals(2, counts.size());
32: assertEquals(new Integer(3), counts.get("timmy"));
33: assertEquals(new Integer(1), counts.get("timmy2"));
34:
35: monitor.instanceDestroyed("timmy2");
36: counts = monitor.getInstanceCounts();
37: assertEquals(1, counts.size());
38: assertEquals(new Integer(3), counts.get("timmy"));
39:
40: monitor.instanceDestroyed("timmy");
41: counts = monitor.getInstanceCounts();
42: assertEquals(1, counts.size());
43: assertEquals(new Integer(2), counts.get("timmy"));
44:
45: try {
46: monitor.instanceDestroyed("timmy2");
47: fail();
48: } catch (IllegalStateException ise) {
49: // expected
50: }
51:
52: try {
53: monitor
54: .instanceDestroyed("monitor has never seen this string before");
55: fail();
56: } catch (IllegalStateException ise) {
57: // expected
58: }
59:
60: try {
61: monitor.instanceCreated(null);
62: fail();
63: } catch (IllegalArgumentException ise) {
64: // expected
65: }
66:
67: try {
68: monitor.instanceDestroyed(null);
69: fail();
70: } catch (IllegalArgumentException ise) {
71: // expected
72: }
73:
74: }
75:
76: }
|