All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.test.faces.mock.FacesMocksClassControl Maven / Gradle / Ivy

The newest version!
package org.jboss.test.faces.mock;

import java.lang.reflect.Method;

import org.easymock.ConstructorArgs;
import org.easymock.EasyMockSupport;
import org.easymock.IMocksControl;
import org.easymock.MockType;
import org.easymock.internal.IProxyFactory;
import org.easymock.internal.MocksControl;

public class FacesMocksClassControl extends MocksControl implements IMocksControl {

    private static final long serialVersionUID = -6032144451192179422L;
    
    private EasyMockSupport support = new EasyMockSupport();

    
    public FacesMocksClassControl(MockType type) {
        super(type);
    }

    
    public  R createMock(String name, Class toMock,
            Method... mockedMethods) {

        if(toMock.isInterface()) {
            throw new IllegalArgumentException("Partial mocking doesn't make sense for interface");
        }

        R  mock = support.partialMockBuilder(toMock).addMockedMethods(mockedMethods).createMock(name); 		//MZ createMock(name, toMock);

        // Set the mocked methods on the interceptor
        //MZ getInterceptor(mock).setMockedMethods(mockedMethods);
        

        return mock;
    }

    public  R  createMock(Class toMock, Method... mockedMethods) {

        if(toMock.isInterface()) {
            throw new IllegalArgumentException("Partial mocking doesn't make sense for interface");
        }

        R mock = support.partialMockBuilder(toMock).addMockedMethods(mockedMethods).createMock();	//MZ createMock(toMock);

        // Set the mocked methods on the interceptor
        //MZ getInterceptor(mock).setMockedMethods(mockedMethods);

        return mock;
    }

    
    public  R createMock(Class toMock, ConstructorArgs constructorArgs,
            Method... mockedMethods) {
    	//MZ // Trick to allow the ClassProxyFactory to access constructor args
    	//MZ setCurrentConstructorArgs(constructorArgs);
    	//MZ try {
    		return super.createMock(null, toMock, constructorArgs, mockedMethods);
          //MZ } finally {
          //MZ    setCurrentConstructorArgs(null);
          //MZ }
    }

    public  R createMock(String name, Class toMock,
            ConstructorArgs constructorArgs, Method... mockedMethods) {
    	//MZ // Trick to allow the ClassProxyFactory to access constructor args
    	//MZ setCurrentConstructorArgs(constructorArgs);
    	//MZ try {
    	return super.createMock(name, toMock, constructorArgs, mockedMethods);
          //MZ } finally {
          //MZ setCurrentConstructorArgs(null);
          //MZ }
    }
	
	
	
	
	protected  IProxyFactory createProxyFactory(Class toMock) {
        if (toMock.isInterface()) {
            return super.getProxyFactory(toMock);
        }
        return new FacesClassProxyFactory();
    }
	
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy