com.fitbur.mockito.internal.util.MockNameImpl Maven / Gradle / Ivy
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package com.fitbur.mockito.internal.util;
import com.fitbur.mockito.mock.MockName;
import java.io.Serializable;
public class MockNameImpl implements MockName, Serializable {
private static final long serialVersionUID = 8014974700844306925L;
private final String mockName;
private boolean defaultName;
@SuppressWarnings("unchecked")
public MockNameImpl(String mockName, Class classToMock) {
if (mockName == null) {
this.mockName = toInstanceName(classToMock);
this.defaultName = true;
} else {
this.mockName = mockName;
}
}
public MockNameImpl(String mockName) {
this.mockName = mockName;
}
private static String toInstanceName(Class> clazz) {
String className = clazz.getSimpleName();
if (className.length() == 0) {
//it's an anonymous class, let's get name from the parent
className = clazz.getSuperclass().getSimpleName();
}
//lower case first letter
return className.substring(0, 1).toLowerCase() + className.substring(1);
}
public boolean isDefault() {
return defaultName;
}
@Override
public String toString() {
return mockName;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy