Bug 584: Increase test coverage
[yangtools.git] / code-generator / binding-generator-util / src / test / java / org / opendaylight / yangtools / binding / generator / util / generated / type / builder / MethodSignatureBuilderImplTest.java
diff --git a/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/MethodSignatureBuilderImplTest.java b/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/MethodSignatureBuilderImplTest.java
new file mode 100644 (file)
index 0000000..16f6e03
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. 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.yangtools.binding.generator.util.generated.type.builder;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature;
+
+public class MethodSignatureBuilderImplTest {
+
+    @Test
+    public void testCreateNewInstance() {
+        final MethodSignatureBuilderImpl signatureBuilderImpl = new MethodSignatureBuilderImpl("testMethod");
+        assertNotNull(signatureBuilderImpl);
+    }
+
+    @Test
+    public void testSetAbstractMethod() {
+        final MethodSignatureBuilderImpl signatureBuilderImpl = new MethodSignatureBuilderImpl("testMethod");
+        signatureBuilderImpl.setAbstract(true);
+        final MethodSignature methodSignature = signatureBuilderImpl.toInstance(null);
+        assertTrue(methodSignature.isAbstract());
+    }
+
+    @Test
+    public void testAddParameterMethod() {
+        final MethodSignatureBuilderImpl signatureBuilderImpl = new MethodSignatureBuilderImpl("testMethod");
+        final GeneratedTypeBuilderImpl ipAddressType = new GeneratedTypeBuilderImpl("org.opendaylight.yangtools.test", "IpAddress");
+        signatureBuilderImpl.addParameter(ipAddressType, "ipAddress");
+        final MethodSignature methodSignature = signatureBuilderImpl.toInstance(null);
+        assertEquals("ipAddress", methodSignature.getParameters().get(0).getName());
+    }
+
+    @Test
+    public void testHashCodeEqualsToStringMethods() {
+        final MethodSignatureBuilderImpl signatureBuilderImpl = new MethodSignatureBuilderImpl("testMethod");
+        final MethodSignatureBuilderImpl signatureBuilderImpl2 = new MethodSignatureBuilderImpl("testMethod");
+        final MethodSignatureBuilderImpl signatureBuilderImpl3 = new MethodSignatureBuilderImpl("testMethod2");
+        final MethodSignatureBuilderImpl signatureBuilderImpl4 = new MethodSignatureBuilderImpl(null);
+        final MethodSignatureBuilderImpl signatureBuilderImpl5 = signatureBuilderImpl;
+        final MethodSignatureBuilderImpl signatureBuilderImpl6 = new MethodSignatureBuilderImpl("testMethod");
+        final GeneratedTypeBuilderImpl returnType = new GeneratedTypeBuilderImpl("org.opendaylight.yangtools.test", "Address");
+        signatureBuilderImpl6.setReturnType(returnType);
+
+        assertEquals(signatureBuilderImpl.hashCode(), signatureBuilderImpl2.hashCode());
+
+        assertTrue(signatureBuilderImpl.equals(signatureBuilderImpl2));
+        assertFalse(signatureBuilderImpl.equals(signatureBuilderImpl3));
+        assertFalse(signatureBuilderImpl.equals(signatureBuilderImpl4));
+        assertFalse(signatureBuilderImpl4.equals(signatureBuilderImpl));
+        assertTrue(signatureBuilderImpl.equals(signatureBuilderImpl5));
+        assertFalse(signatureBuilderImpl4.equals("test"));
+        assertFalse(signatureBuilderImpl4.equals(signatureBuilderImpl));
+        assertFalse(signatureBuilderImpl6.equals(signatureBuilderImpl));
+        assertFalse(signatureBuilderImpl.equals(signatureBuilderImpl6));
+
+        assertNotNull(signatureBuilderImpl.toString());
+    }
+}