View Javadoc
1 /* Copyright (c) 2000-2003, jMock.org. See bundled LICENSE.txt */ 2 package org.jmock.expectation; 3 4 import java.util.Enumeration; 5 import java.util.Hashtable; 6 7 /*** 8 * @version $Revision: 1.1 $ 9 */ 10 public class ReturnObjectMap extends MockObject { 11 private final Hashtable returnValues = new Hashtable(); 12 private final String name; 13 14 public ReturnObjectMap(String name) { 15 this.name = name; 16 } 17 18 public Object getValue(Object key) { 19 if (key == null) { 20 key = Null.NULL; 21 } 22 AssertMo.assertTrue(name + " does not contain " + key.toString(), returnValues.containsKey(key)); 23 return ((CallCounter) returnValues.get(key)).getValue(); 24 } 25 26 public Object getValue(short key) { 27 return getValue(new Short(key)); 28 } 29 30 public void putReturnValue(Object key, Object value) { 31 returnValues.put(key != null ? key : Null.NULL, new CallCounter(key, value)); 32 } 33 34 public void putReturnValue(Object key, int value) { 35 putReturnValue(key, new Integer(value)); 36 } 37 38 public void putReturnValue(short key, Object value) { 39 putReturnValue(new Short(key), value); 40 } 41 42 public void putReturnValue(Object key, boolean value) { 43 putReturnValue(key, new Boolean(value)); 44 } 45 46 public int getIntValue(Object key) { 47 return ((Integer) getValue(key)).intValue(); 48 } 49 50 public boolean getBooleanValue(String key) { 51 return ((Boolean) getValue(key)).booleanValue(); 52 } 53 54 private class CallCounter implements Verifiable { 55 private int count = 0; 56 private final Object value; 57 private final Object key; 58 59 public CallCounter(Object key, Object value) { 60 this.key = key; 61 this.value = value; 62 } 63 64 public Object getValue() { 65 count++; 66 return value; 67 } 68 69 public void verify() { 70 AssertMo.assertTrue("Object never called for key: " + key, count > 0); 71 } 72 } 73 74 public void verify() { 75 super.verify(); 76 77 for (Enumeration enumeration = returnValues.elements(); enumeration.hasMoreElements();) { 78 ((Verifiable) enumeration.nextElement()).verify(); 79 } 80 } 81 }

This page was automatically generated by Maven