package org.opendaylight.mdsal.binding.generator.impl;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import java.util.List;
import org.junit.Test;
+import org.opendaylight.mdsal.binding.model.api.AnnotationType;
+import org.opendaylight.mdsal.binding.model.api.AnnotationType.Parameter;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.MethodSignature;
final List<MethodSignature> methods = genTypes.get(3).getMethodDefinitions();
assertEquals(3, methods.size());
- assertEquals(methods.get(0).getName(), "onDeprecatedNotification");
- assertEquals(methods.get(0).isDefault(), false);
- assertEquals(methods.get(0).getAnnotations().size(), 1);
- assertEquals(methods.get(0).getAnnotations().get(0).getIdentifier(), JavaTypeName.create(Deprecated.class));
- assertEquals(methods.get(0).getAnnotations().get(0).getParameters().size(), 0);
-
- assertEquals(methods.get(1).getName(), "onObsoleteNotification");
- assertEquals(methods.get(1).isDefault(), true);
- assertEquals(methods.get(1).getAnnotations().size(), 1);
- assertEquals(methods.get(1).getAnnotations().get(0).getIdentifier(), JavaTypeName.create(Deprecated.class));
- assertEquals(methods.get(1).getAnnotations().get(0).getParameters().size(), 1);
- assertEquals(methods.get(1).getAnnotations().get(0).getParameters().get(0).getName(), "forRemoval");
- assertEquals(methods.get(1).getAnnotations().get(0).getParameters().get(0).getValue(), "true");
-
- assertEquals(methods.get(2).getName(), "onTestNotification");
- assertEquals(methods.get(2).isDefault(), false);
- assertEquals(methods.get(2).getAnnotations().size(), 0);
+
+ // status deprecated
+ final MethodSignature deprecated = methods.get(0);
+ assertEquals("onDeprecatedNotification", deprecated.getName());
+ assertFalse(deprecated.isDefault());
+
+ final List<AnnotationType> deprecatedAnnotations = deprecated.getAnnotations();
+ assertEquals(1, deprecatedAnnotations.size());
+
+ AnnotationType annotation = deprecatedAnnotations.get(0);
+ assertEquals(JavaTypeName.create(Deprecated.class), annotation.getIdentifier());
+ assertEquals(List.of(), annotation.getParameters());
+
+ // status obsolete
+ final MethodSignature obsolete = methods.get(1);
+ assertEquals("onObsoleteNotification", obsolete.getName());
+ assertTrue(obsolete.isDefault());
+
+ final List<AnnotationType> obsoleteAnnotations = obsolete.getAnnotations();
+ assertEquals(1, obsoleteAnnotations.size());
+
+ annotation = obsoleteAnnotations.get(0);
+ assertEquals(JavaTypeName.create(Deprecated.class), annotation.getIdentifier());
+
+ final List<Parameter> annotationParameters = annotation.getParameters();
+ assertEquals(1, annotationParameters.size());
+
+ assertEquals("forRemoval", annotationParameters.get(0).getName());
+ assertEquals("true", annotationParameters.get(0).getValue());
+
+ // status current
+ final MethodSignature current = methods.get(2);
+ assertEquals("onTestNotification", current.getName());
+ assertFalse(current.isDefault());
+ assertEquals(List.of(), current.getAnnotations());
}
}