Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Copyright 2011-2012 Copyright Clearance Center
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.package com.copyright.rup.common.test;
*/
package com.copyright.easiertest;
import org.easymock.EasyMock;
import org.easymock.cglib.proxy.Callback;
import org.easymock.cglib.proxy.Enhancer;
import org.easymock.cglib.proxy.Factory;
import org.easymock.cglib.proxy.MethodInterceptor;
import org.easymock.cglib.proxy.MethodProxy;
import org.easymock.internal.ClassProxyFactory;
import org.easymock.internal.ClassProxyFactory.MockMethodInterceptor;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.List;
/**
* Automates creation and checking of mock objects. Normal usage is as follows:
*
*
Annotate one or more fields with {@link Mock}
*
Call {@link #prepareMocks(Object)} in the constructor of the test class, and pass 'this' as
* the argument
*
Call {@link #reset()} in the @Before method for the test class.
*
Call {@link #verify()} in the @After method for the test class.
*
In the test method itself, set expectations then call {@link #replay()}, followed by the
* invocation of the method under test.
*
*
* @author gheck
*/
/*
Changes vs original Copyright (as per license requirement):
Java 6 compatible syntax changes - Copyright Needham Software 2013
*/
public class EasierMocks {
private static ThreadLocal> sMocks = new ThreadLocal>();
private static ThreadLocal> sNiceMocks = new ThreadLocal>();
private static ThreadLocal sState = new ThreadLocal();
private static ThreadLocal sObjectUnderTest = new ThreadLocal();
private EasierMocks() {
}
public static void prepareMocks(Object o) {
sState.set(MockStates.AWAIT_EXPECTATIONS);
List