Package org.onlab.junit
Class TestUtils
- java.lang.Object
-
- org.onlab.junit.TestUtils
-
public final class TestUtils extends java.lang.ObjectUtilities for testing.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTestUtils.TestUtilsExceptionException that can be thrown if problems are encountered while executing the utility method.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> TcallConstructor(java.lang.reflect.Constructor<T> constructor)Triggers an allocation of an object of type T and forces a call to the private constructor.static <T,U>
UcallMethod(T subject, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object... args)Calls the method, bypassing scope restriction.static <T,U>
UcallMethod(T subject, java.lang.String methodName, java.lang.Class<?> paramType, java.lang.Object arg)Calls the method, bypassing scope restriction.static <T,U>
UgetField(T subject, java.lang.String fieldName)Gets the field, bypassing scope restriction.static <T,U>
voidsetField(T subject, java.lang.String fieldName, U value)Sets the field, bypassing scope restriction.
-
-
-
Method Detail
-
setField
public static <T,U> void setField(T subject, java.lang.String fieldName, U value) throws TestUtils.TestUtilsExceptionSets the field, bypassing scope restriction.- Type Parameters:
T- subject typeU- value type- Parameters:
subject- Object where the field belongsfieldName- name of the field to setvalue- value to set to the field.- Throws:
TestUtils.TestUtilsException- if there are reflection errors while setting the field
-
getField
public static <T,U> U getField(T subject, java.lang.String fieldName) throws TestUtils.TestUtilsExceptionGets the field, bypassing scope restriction.- Type Parameters:
T- subject typeU- fieldO value type- Parameters:
subject- Object where the field belongsfieldName- name of the field to get- Returns:
- value of the field.
- Throws:
TestUtils.TestUtilsException- if there are reflection errors while getting the field
-
callMethod
public static <T,U> U callMethod(T subject, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object... args) throws TestUtils.TestUtilsExceptionCalls the method, bypassing scope restriction.- Type Parameters:
T- subject typeU- return value type- Parameters:
subject- Object where the method belongsmethodName- name of the method to callparamTypes- formal parameter type arrayargs- arguments- Returns:
- return value or null if void
- Throws:
TestUtils.TestUtilsException- if there are reflection errors while calling the method
-
callMethod
public static <T,U> U callMethod(T subject, java.lang.String methodName, java.lang.Class<?> paramType, java.lang.Object arg) throws TestUtils.TestUtilsExceptionCalls the method, bypassing scope restriction.- Type Parameters:
T- subject typeU- return value type- Parameters:
subject- Object where the method belongsmethodName- name of the method to callparamType- formal parameter typearg- argument- Returns:
- return value or null if void
- Throws:
TestUtils.TestUtilsException- if there are reflection errors while calling the method
-
callConstructor
public static <T> T callConstructor(java.lang.reflect.Constructor<T> constructor) throws TestUtils.TestUtilsExceptionTriggers an allocation of an object of type T and forces a call to the private constructor.- Type Parameters:
T- type of the object to create- Parameters:
constructor- Constructor to call- Returns:
- created object of type T
- Throws:
TestUtils.TestUtilsException- if there are reflection errors while calling the constructor
-
-