Package org.mockito.internal.util

Source Code of org.mockito.internal.util.ObjectMethodsGuru

/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.util;

import org.mockito.internal.creation.DelegatingMethod;
import org.mockito.internal.invocation.MockitoMethod;

import java.io.Serializable;
import java.lang.reflect.Method;

public class ObjectMethodsGuru implements Serializable {

    private static final long serialVersionUID = -1286718569065470494L;

    public boolean isToString(Method method) {
        return isToString(new DelegatingMethod(method));
    }

    public boolean isToString(MockitoMethod method) {
        return method.getReturnType() == String.class
                && method.getParameterTypes().length == 0
                && method.getName().equals("toString");
    }

    public boolean isEqualsMethod(Method method) {
        return method.getName().equals("equals")
                && method.getParameterTypes().length == 1
                && method.getParameterTypes()[0] == Object.class;
    }

    public boolean isHashCodeMethod(Method method) {
        return method.getName().equals("hashCode")
                && method.getParameterTypes().length == 0;
    }

    public boolean isCompareToMethod(Method method) {
        return Comparable.class.isAssignableFrom(method.getDeclaringClass())
                && method.getName().equals("compareTo")
                && method.getParameterTypes().length == 1
                && method.getParameterTypes()[0] == method.getDeclaringClass();
    }
}
TOP

Related Classes of org.mockito.internal.util.ObjectMethodsGuru

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.