import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
-import static org.opendaylight.mdsal.binding.generator.util.TypeConstants.PATTERN_CONSTANT_NAME;
import static org.opendaylight.mdsal.binding.java.api.generator.GeneratorUtil.createImports;
+import static org.opendaylight.mdsal.binding.model.ri.TypeConstants.PATTERN_CONSTANT_NAME;
import com.google.common.collect.ImmutableList;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorUtil;
import org.opendaylight.mdsal.binding.model.api.AnnotationType;
import org.opendaylight.mdsal.binding.model.api.Constant;
import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
+import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.MethodSignature;
import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
import org.opendaylight.mdsal.binding.model.api.Type;
public class GeneratorUtilTest {
+ private static final JavaTypeName ANNOTATION = JavaTypeName.create("tst.package", "tstAnnotationName");
+ private static final JavaTypeName PARAMETERIZED_TYPE = JavaTypeName.create("tst.package", "tstParametrizedType");
+ private static final JavaTypeName TYPE = JavaTypeName.create("tst.package", "tstName");
private final GeneratedType generatedType = mock(GeneratedType.class);
private final GeneratedTransferObject enclosedType = mock(GeneratedTransferObject.class);
doReturn("tst.package").when(parameterizedType).getPackageName();
doReturn("tstParametrizedType").when(parameterizedType).getName();
+ doReturn(PARAMETERIZED_TYPE).when(parameterizedType).getIdentifier();
doReturn("tst.package").when(type).getPackageName();
doReturn("tstName").when(type).getName();
+ doReturn(TYPE).when(type).getIdentifier();
doReturn(parameterizedType).when(property).getReturnType();
doReturn(new Type[] { type }).when(parameterizedType).getActualTypeArguments();
doReturn(ImmutableList.of(property)).when(enclosedType).getProperties();
- doReturn(true).when(property).isReadOnly();
+ doReturn(Boolean.TRUE).when(property).isReadOnly();
doReturn("tst.package").when(enclosedType).getPackageName();
doReturn("tstName").when(enclosedType).getName();
+ doReturn(TYPE).when(enclosedType).getIdentifier();
+
doReturn(ImmutableList.of(parameter)).when(methodSignature).getParameters();
doReturn("tst.package").when(annotationType).getPackageName();
doReturn("tstAnnotationName").when(annotationType).getName();
+ doReturn(ANNOTATION).when(annotationType).getIdentifier();
doReturn(type).when(parameter).getType();
doReturn(type).when(methodSignature).getReturnType();
assertTrue(generated.get("tstName").equals("tst.package"));
}
- @Test(expected = UnsupportedOperationException.class)
- public void constructTest() throws Throwable {
- final Constructor constructor = GeneratorUtil.class.getDeclaredConstructor();
+ public void constructTest() throws ReflectiveOperationException {
+ final Constructor<GeneratorUtil> constructor = GeneratorUtil.class.getDeclaredConstructor();
constructor.setAccessible(true);
try {
constructor.newInstance();
- } catch (Exception e) {
- throw e.getCause();
+ fail();
+ } catch (InvocationTargetException e) {
+ assertTrue(e.getCause() instanceof UnsupportedOperationException);
}
}
@Test
public void createImportsTest() throws Exception {
- final Map<String, String> generated = createImports(generatedType);
+ final Map<String, JavaTypeName> generated = createImports(generatedType);
assertNotNull(generated);
- assertTrue(generated.get("tstAnnotationName").equals("tst.package"));
+ assertEquals(JavaTypeName.create("tst.package", "tstAnnotationName"), generated.get("tstAnnotationName"));
}
@Test(expected = IllegalArgumentException.class)
createImports(generatedType)).contains(parameterizedType.getName()));
}
-
- @Test(expected = IllegalArgumentException.class)
- public void getTopParentTransportObjectWithExceptionTest() throws Exception {
- GeneratorUtil.getTopParentTransportObject(null);
- }
-
- @Test
- public void getTopParentTransportObjectTest() throws Exception {
- assertEquals(enclosedType, GeneratorUtil.getTopParentTransportObject(enclosedType));
-
- final GeneratedTransferObject parent = mock(GeneratedTransferObject.class);
- doReturn(parent).when(enclosedType).getSuperType();
- assertEquals(parent, GeneratorUtil.getTopParentTransportObject(enclosedType));
- }
}
\ No newline at end of file