Clover coverage report - Maven Clover report
Coverage timestamp: Sun Mar 18 2007 17:42:32 CET
file stats: LOC: 77   Methods: 6
NCLOC: 66   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ArrayRefernce.java 90% 100% 100% 96.7%
coverage coverage
 1    package com.agical.rmock.core.match.reference;
 2   
 3    import java.io.IOException;
 4    import java.lang.reflect.Array;
 5   
 6    import com.agical.rmock.core.describe.ExpressionDescriber;
 7    import com.agical.rmock.core.match.Reference;
 8   
 9    public class ArrayRefernce implements Reference {
 10    private final Object object;private final ReferenceFactory referenceFactory = new ReferenceFactory();
 11   
 12  80 public ArrayRefernce(Object object) {
 13  80 this.object = object;
 14   
 15    }
 16   
 17  8 public Object getObject() {
 18  8 return object;
 19    }
 20   
 21  4 public void describeWith(ExpressionDescriber expressionDescriber) throws IOException {
 22  4 if ( object == null) {
 23  1 expressionDescriber.describeReference("<null>");
 24    }
 25    else {
 26   
 27  3 Class componentType = object.getClass().getComponentType();
 28  3 int length = Array.getLength(object);
 29  3 expressionDescriber.beginArray(componentType, length);
 30  3 for (int i = 0; i < length; i++) {
 31  7 expressionDescriber.describeReference("<"+Array.get(object, i)+">");
 32    }
 33  3 expressionDescriber.endArray();
 34    }
 35    }
 36   
 37  32 public boolean objectEquals(Object object) {
 38  32 if (object == null || this.object == null) {
 39  2 return this.object == object;
 40    }
 41  30 if (!object.getClass().isArray()) {
 42  1 return false;
 43    }
 44  29 if (Array.getLength(this.object) != Array.getLength(object)) {
 45  1 return false;
 46    }
 47  28 Reference[] referenceArray = getReferenceArray();
 48  28 for (int i = 0; i < referenceArray.length; i++) {
 49  75 Reference reference = referenceArray[i];
 50  75 if (!referenceArray[i].objectEquals(Array.get(object, i))) {
 51  1 return false;
 52    }
 53    }
 54  27 return true;
 55    }
 56   
 57  31 private Reference[] getReferenceArray() {
 58  31 int length = Array.getLength(this.object);
 59  31 Reference[] references = new Reference[length];
 60  31 for (int i = 0; i < references.length; i++) {
 61  81 references[i]=referenceFactory.create(Array.get(this.object, i));
 62    }
 63  31 return references;
 64    }
 65   
 66  3 public int objectCompareTo(Object object) {
 67  3 Reference[] referenceArray = getReferenceArray();
 68  3 for (int i = 0; i < referenceArray.length; i++) {
 69  4 Reference reference = referenceArray[i];
 70  4 int value;
 71  ? if ((value = referenceArray[i].objectCompareTo(Array.get(object, i))) != 0) {
 72  2 return value;
 73    }
 74    }
 75  1 return 0;
 76    }
 77    }