Coverage Report - biz.xsoftware.impl.mock.MockObjectFactoryImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
MockObjectFactoryImpl
92%
11/12
100%
2/2
0
 
 1  
 package biz.xsoftware.impl.mock;
 2  
 
 3  
 import java.lang.reflect.Proxy;
 4  
 
 5  
 import biz.xsoftware.mock.MockObject;
 6  
 import biz.xsoftware.mock.MockObjectFactory;
 7  
 
 8  14
 public final class MockObjectFactoryImpl extends MockObjectFactory {
 9  
 
 10  
     @Override
 11  
     public MockObject createMockImpl(final String id, final Class<?>[] interfaces) {
 12  98
         final Class<?>[] interfacesPlusMock = new Class[interfaces.length + 1];
 13  98
         interfacesPlusMock[0] = MockObject.class;
 14  196
         for (int i = 1; i < interfacesPlusMock.length; i++) {
 15  98
             if (interfaces[i - 1] == null) {
 16  
                 // then we were given a null interface
 17  0
                 throw new NullPointerException("interface(s) given cannot be null");
 18  
             }
 19  98
             interfacesPlusMock[i] = interfaces[i - 1];
 20  
         }
 21  
 
 22  98
         ClassLoader cl = MockObjectFactory.class.getClassLoader();
 23  98
         MockObjectImpl impl = new MockObjectImpl(id, interfaces);
 24  98
         Object o = Proxy.newProxyInstance(cl, interfacesPlusMock, impl);
 25  98
         MockObject m = (MockObject) o;
 26  98
         return m;
 27  
     }
 28  
 }