Clover coverage report - jMock - 1.0-beta1
Coverage timestamp: Sat Nov 29 2003 19:35:59 GMT
file stats: LOC: 82   Methods: 13
NCLOC: 60   Classes: 2
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
ReturnObjectMap.java 100% 100% 100% 100%
coverage
 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  18
     public ReturnObjectMap(String name) {
 15  18
         this.name = name;
 16   
     }
 17   
 
 18  20
     public Object getValue(Object key) {
 19  20
         if (key == null) {
 20  2
             key = Null.NULL;
 21   
         }
 22  20
         AssertMo.assertTrue(name + " does not contain " + key.toString(), returnValues.containsKey(key));
 23  18
         return ((CallCounter) returnValues.get(key)).getValue();
 24   
     }
 25   
 
 26  4
     public Object getValue(short key) {
 27  4
         return getValue(new Short(key));
 28   
     }
 29   
 
 30  18
     public void putReturnValue(Object key, Object value) {
 31  18
         returnValues.put(key != null ? key : Null.NULL, new CallCounter(key, value));
 32   
     }
 33   
 
 34  2
     public void putReturnValue(Object key, int value) {
 35  2
         putReturnValue(key, new Integer(value));
 36   
     }
 37   
 
 38  4
     public void putReturnValue(short key, Object value) {
 39  4
         putReturnValue(new Short(key), value);
 40   
     }
 41   
 
 42  2
     public void putReturnValue(Object key, boolean value) {
 43  2
         putReturnValue(key, new Boolean(value));
 44   
     }
 45   
 
 46  2
     public int getIntValue(Object key) {
 47  2
         return ((Integer) getValue(key)).intValue();
 48   
     }
 49   
 
 50  2
     public boolean getBooleanValue(String key) {
 51  2
         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  18
         public CallCounter(Object key, Object value) {
 60  18
             this.key = key;
 61  18
             this.value = value;
 62   
         }
 63   
 
 64  18
         public Object getValue() {
 65  18
             count++;
 66  18
             return value;
 67   
         }
 68   
 
 69  14
         public void verify() {
 70  14
             AssertMo.assertTrue("Object never called for key: " + key, count > 0);
 71   
         }
 72   
     }
 73   
 
 74  12
     public void verify() {
 75  12
         super.verify();
 76   
 
 77  12
         for (Enumeration enumeration = returnValues.elements(); enumeration.hasMoreElements();) {
 78  14
             ((Verifiable) enumeration.nextElement()).verify();
 79   
         }
 80   
     }
 81   
 }
 82