Add GeneratorTest 99/96899/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 15 Jul 2021 12:34:29 +0000 (14:34 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 15 Jul 2021 15:05:22 +0000 (17:05 +0200)
We have a few tests targeting low-level utility methods in Generator,
add a dedicated GeneratorTest to hold them.

Change-Id: I18ee7f1e66ed1b0519de0b1d61b4e63135f2c947
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/reactor/GeneratorTest.java [new file with mode: 0644]
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java

diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/reactor/GeneratorTest.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/reactor/GeneratorTest.java
new file mode 100644 (file)
index 0000000..f76cfd0
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.generator.impl.reactor;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+
+import java.util.List;
+import java.util.Optional;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
+import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
+import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.CodegenGeneratedTOBuilder;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
+public class GeneratorTest {
+    @Mock
+    public TypeDefinition<?> typedef;
+
+    public final GeneratedTOBuilder builder =
+        new CodegenGeneratedTOBuilder(JavaTypeName.create("test.package", "TestBuilder"));
+
+    @Test
+    public void testAddUnits() {
+        doReturn(Optional.of("125")).when(typedef).getUnits();
+
+        Generator.addUnits(builder, typedef);
+        final GeneratedTransferObject genTO = builder.build();
+        assertEquals(1, genTO.getConstantDefinitions().size());
+        assertEquals("_UNITS", genTO.getConstantDefinitions().get(0).getName());
+        assertEquals(genTO.getConstantDefinitions().get(0).getValue(), "\"125\"");
+    }
+
+    @Test
+    public void testAddUnitsNonExistent() {
+        doReturn(Optional.empty()).when(typedef).getUnits();
+
+        Generator.addUnits(builder, typedef);
+        GeneratedTransferObject genTO = builder.build();
+        assertEquals(List.of(), genTO.getConstantDefinitions());
+
+    }
+
+    @Test
+    public void testAddUnitsEmpty() {
+        doReturn(Optional.of("")).when(typedef).getUnits();
+
+        Generator.addUnits(builder, typedef);
+        GeneratedTransferObject genTO = builder.build();
+        assertEquals(List.of(), genTO.getConstantDefinitions());
+    }
+}
index 64715448bad80a5ef425c60ff7ca50e3c01cd93f..fb38e96a61dc9775aa90649d940f5a7e25a171e1 100644 (file)
@@ -30,7 +30,6 @@ import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
 import org.opendaylight.mdsal.binding.model.api.Restrictions;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
-import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.CodegenGeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
@@ -530,25 +529,4 @@ public class TypeProviderTest {
         final AbstractTypeProvider provider = new RuntimeTypeProvider(SCHEMA_CONTEXT);
         provider.provideGeneratedTOBuilderForBitsTypeDefinition(JavaTypeName.create("foo", "foo"), null, "foo");
     }
-
-    @Test
-    public void addUnitsToGenTOTest() {
-        final GeneratedTOBuilder builder = new CodegenGeneratedTOBuilder(
-            JavaTypeName.create("test.package", "TestBuilder"));
-
-        CodegenTypeProvider.addUnitsToGenTO(builder, null);
-        GeneratedTransferObject genTO = builder.build();
-        assertTrue(genTO.getConstantDefinitions().isEmpty());
-
-        CodegenTypeProvider.addUnitsToGenTO(builder, "");
-        genTO = builder.build();
-        assertTrue(genTO.getConstantDefinitions().isEmpty());
-
-        CodegenTypeProvider.addUnitsToGenTO(builder, "125");
-        genTO = builder.build();
-        assertTrue(!genTO.getConstantDefinitions().isEmpty());
-        assertEquals(1, genTO.getConstantDefinitions().size());
-        assertEquals("_UNITS", genTO.getConstantDefinitions().get(0).getName());
-        assertEquals(genTO.getConstantDefinitions().get(0).getValue(), "\"125\"");
-    }
 }