X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fsal%2Fjava%2Fapi%2Fgenerator%2FBuilderGeneratorTest.java;h=f7a0c4586a86b3f8ef47d1c03036bcd7f2057dba;hb=refs%2Fchanges%2F54%2F51354%2F1;hp=2944f36aa0a544a48449a78eae02e902501c4c30;hpb=d92aa291ec070cfaf7b680d99f015f4402dcfe60;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderGeneratorTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderGeneratorTest.java index 2944f36aa0..f7a0c4586a 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderGeneratorTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderGeneratorTest.java @@ -8,156 +8,15 @@ package org.opendaylight.yangtools.sal.java.api.generator; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.doReturn; 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.yangtools.sal.binding.model.api.GeneratedProperty; -import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType; -import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature; import org.opendaylight.yangtools.sal.binding.model.api.Type; -@SuppressWarnings("deprecation") public class BuilderGeneratorTest { - private static final String PROPERTIES_FIELD_NAME = "properties"; - private final String firstPartOfGenToStringMethod = - "@Override\npublic java.lang.String toString() {\n java.lang.StringBuilder builder = new java.lang.StringBuilder (" - + "\"test [\");"; - private final String lastPartOfGenToStringMethode = "\n return builder.append(']').toString();\n}"; - private final String argPartOfGenToStringMethode = - "\n builder.append(\"augmentation=\");\n builder.append(augmentation.values());"; - private final String comaPartOfAppend = "builder.append(\", \");"; - private final String TEST = "test"; - @Test public void basicTest() throws Exception { assertEquals("", new BuilderGenerator().generate(mock(Type.class))); } - - @Test - public void builderTemplateGenerateToStringWithPropertyTest() throws Exception { - final GeneratedType genType = mockGenType("get" + this.TEST); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString.contains(this.firstPartOfGenToStringMethod - + "\n if (_test != null) {\n builder.append(\"_test=\");\n builder.append(_test);\n }" - + this.lastPartOfGenToStringMethode)); - } - - @Test - public void builderTemplateGenerateToStringWithoutAnyPropertyTest() throws Exception { - final GeneratedType genType = mockGenType(this.TEST); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString - .contains(this.firstPartOfGenToStringMethod + this.lastPartOfGenToStringMethode)); - } - - @Test - public void builderTemplateGenerateToStringWithMorePropertiesTest() throws Exception { - final GeneratedType genType = mockGenTypeMoreMeth("get" + this.TEST); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString.contains(this.firstPartOfGenToStringMethod - + "\n if (_test1 != null) {\n builder.append(\"_test1=\");\n builder.append(_test1);" - + "\n " + this.comaPartOfAppend + "\n }" - + "\n if (_test2 != null) {\n builder.append(\"_test2=\");\n builder.append(_test2);\n }" - + this.lastPartOfGenToStringMethode)); - } - - @Test - public void builderTemplateGenerateToStringWithoutPropertyWithAugmentTest() throws Exception { - final GeneratedType genType = mockGenType(this.TEST); - mockAugment(genType); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString.contains(this.firstPartOfGenToStringMethod + this.argPartOfGenToStringMethode - + this.lastPartOfGenToStringMethode)); - } - - @Test - public void builderTemplateGenerateToStringWithPropertyWithAugmentTest() throws Exception { - final GeneratedType genType = mockGenType("get" + this.TEST); - mockAugment(genType); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString.contains(this.firstPartOfGenToStringMethod - + "\n if (_test != null) {\n builder.append(\"_test=\");\n builder.append(_test);\n }" - + "\n " + this.comaPartOfAppend + this.argPartOfGenToStringMethode - + this.lastPartOfGenToStringMethode)); - } - - @Test - public void builderTemplateGenerateToStringWithMorePropertiesWithAugmentTest() throws Exception { - final GeneratedType genType = mockGenTypeMoreMeth("get" + this.TEST); - mockAugment(genType); - final String generateToString = genToString(genType).toString(); - assertTrue(generateToString.contains(this.firstPartOfGenToStringMethod - + "\n if (_test1 != null) {\n builder.append(\"_test1=\");\n builder.append(_test1);\n " - + this.comaPartOfAppend + "\n }" - + "\n if (_test2 != null) {\n builder.append(\"_test2=\");\n builder.append(_test2);\n }" - + "\n " + this.comaPartOfAppend - + this.argPartOfGenToStringMethode + this.lastPartOfGenToStringMethode)); - } - - private void mockAugment(final GeneratedType genType) { - final List impls = new ArrayList<>(); - final Type impl = mock(Type.class); - doReturn("org.opendaylight.yangtools.yang.binding.Augmentable").when(impl).getFullyQualifiedName(); - impls.add(impl); - doReturn(impls).when(genType).getImplements(); - } - - private GeneratedType mockGenTypeMoreMeth(final String methodeName) { - final GeneratedType genType = spy(GeneratedType.class); - doReturn(this.TEST).when(genType).getName(); - doReturn(this.TEST).when(genType).getPackageName(); - - final List listMethodSign = new ArrayList<>(); - for (int i = 0; i < 2; i++) { - final MethodSignature methSign = mockMethSign(methodeName + (i + 1)); - listMethodSign.add(methSign); - } - doReturn(listMethodSign).when(genType).getMethodDefinitions(); - - final List impls = new ArrayList<>(); - doReturn(impls).when(genType).getImplements(); - return genType; - } - - @SuppressWarnings("unchecked") - private CharSequence genToString(final GeneratedType genType) - throws NoSuchFieldException, IllegalAccessException { - final BuilderTemplate bt = new BuilderTemplate(genType); - final Field propertiesField = bt.getClass().getDeclaredField(PROPERTIES_FIELD_NAME); - propertiesField.setAccessible(true); - return bt.generateToString((Collection) propertiesField.get(bt)); - } - - private GeneratedType mockGenType(final String methodeName) { - final GeneratedType genType = spy(GeneratedType.class); - doReturn(this.TEST).when(genType).getName(); - doReturn(this.TEST).when(genType).getPackageName(); - - final List listMethodSign = new ArrayList<>(); - final MethodSignature methSign = mockMethSign(methodeName); - listMethodSign.add(methSign); - doReturn(listMethodSign).when(genType).getMethodDefinitions(); - - final List impls = new ArrayList<>(); - doReturn(impls).when(genType).getImplements(); - return genType; - } - - private MethodSignature mockMethSign(final String methodeName) { - final MethodSignature methSign = mock(MethodSignature.class); - doReturn(methodeName).when(methSign).getName(); - final Type methType = mock(Type.class); - doReturn(this.TEST).when(methType).getName(); - doReturn(this.TEST).when(methType).getPackageName(); - doReturn(methType).when(methSign).getReturnType(); - return methSign; - } -} +} \ No newline at end of file