import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
-import java.lang.reflect.Field;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.MethodSignature;
public void builderTemplateGenerateToStringWithPropertyTest() {
final GeneratedType genType = mockGenType("get" + TEST);
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " CodeHelpers.appendValue(helper, \"_test\", _test);\n" +
- " return helper.toString();\n" +
- "}\n", genToString(genType).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " CodeHelpers.appendValue(helper, \"_test\", _test);\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(genType).toString());
}
@Test
public void builderTemplateGenerateToStringWithoutAnyPropertyTest() throws Exception {
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " return helper.toString();\n" +
- "}\n", genToString(mockGenType(TEST)).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(mockGenType(TEST)).toString());
}
@Test
public void builderTemplateGenerateToStringWithMorePropertiesTest() throws Exception {
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " CodeHelpers.appendValue(helper, \"_test1\", _test1);\n" +
- " CodeHelpers.appendValue(helper, \"_test2\", _test2);\n" +
- " return helper.toString();\n" +
- "}\n", genToString(mockGenTypeMoreMeth("get" + TEST)).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " CodeHelpers.appendValue(helper, \"_test1\", _test1);\n"
+ + " CodeHelpers.appendValue(helper, \"_test2\", _test2);\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(mockGenTypeMoreMeth("get" + TEST)).toString());
}
@Test
public void builderTemplateGenerateToStringWithoutPropertyWithAugmentTest() throws Exception {
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n" +
- " return helper.toString();\n" +
- "}\n", genToString(mockAugment(mockGenType(TEST))).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(mockAugment(mockGenType(TEST))).toString());
}
@Test
public void builderTemplateGenerateToStringWithPropertyWithAugmentTest() throws Exception {
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " CodeHelpers.appendValue(helper, \"_test\", _test);\n" +
- " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n" +
- " return helper.toString();\n" +
- "}\n", genToString(mockAugment(mockGenType("get" + TEST))).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " CodeHelpers.appendValue(helper, \"_test\", _test);\n"
+ + " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(mockAugment(mockGenType("get" + TEST))).toString());
}
@Test
public void builderTemplateGenerateToStringWithMorePropertiesWithAugmentTest() throws Exception {
- assertEquals("@Override\n" +
- "public String toString() {\n" +
- " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n" +
- " CodeHelpers.appendValue(helper, \"_test1\", _test1);\n" +
- " CodeHelpers.appendValue(helper, \"_test2\", _test2);\n" +
- " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n" +
- " return helper.toString();\n" +
- "}\n", genToString(mockAugment(mockGenTypeMoreMeth("get" + TEST))).toString());
+ assertEquals("@Override\n"
+ + "public String toString() {\n"
+ + " final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(\"test\");\n"
+ + " CodeHelpers.appendValue(helper, \"_test1\", _test1);\n"
+ + " CodeHelpers.appendValue(helper, \"_test2\", _test2);\n"
+ + " CodeHelpers.appendValue(helper, \"augmentation\", augmentation.values());\n"
+ + " return helper.toString();\n"
+ + "}\n", genToString(mockAugment(mockGenTypeMoreMeth("get" + TEST))).toString());
}
private static GeneratedType mockAugment(final GeneratedType genType) {
return genType;
}
- @SuppressWarnings("unchecked")
private static CharSequence genToString(final GeneratedType genType) {
- try {
- final BuilderTemplate bt = new BuilderTemplate(genType);
- final Field propertiesField = bt.getClass().getDeclaredField(PROPERTIES_FIELD_NAME);
- propertiesField.setAccessible(true);
- return bt.generateToString((Collection<GeneratedProperty>) propertiesField.get(bt));
- } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
- throw new RuntimeException(e);
- }
+ final BuilderTemplate bt = BuilderGenerator.templateForType(genType);
+ return bt.generateToString(bt.properties);
}
private static GeneratedType mockGenType(final String methodeName) {