X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2Finvoke%2FNotificationListenerInvokerTest.java;h=bd3a0e2fb6d4726620c038af73327e5b3d56384e;hb=e2696ea3b63a1ab7d7794ec021aa6f1da3611305;hp=63417f389bb464dd57a45af59b6221ee8d58d33f;hpb=03a3788f519241cb41d1527040467137d8ad5595;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/invoke/NotificationListenerInvokerTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/invoke/NotificationListenerInvokerTest.java index 63417f389b..bd3a0e2fb6 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/invoke/NotificationListenerInvokerTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/invoke/NotificationListenerInvokerTest.java @@ -7,8 +7,11 @@ */ package org.opendaylight.mdsal.binding.dom.adapter.invoke; +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.assertThrows; import static org.mockito.Mockito.mock; import com.google.common.collect.ImmutableMap; @@ -17,50 +20,52 @@ import java.lang.invoke.MethodHandle; import java.lang.invoke.WrongMethodTypeException; import org.junit.Test; import org.opendaylight.yangtools.yang.binding.Augmentation; +import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.Notification; import org.opendaylight.yangtools.yang.binding.NotificationListener; import org.opendaylight.yangtools.yang.common.QName; public class NotificationListenerInvokerTest { - @Test public void fromTest() throws Exception { assertNotNull(NotificationListenerInvoker.from(TestInterface.class)); } - @Test(expected = IllegalStateException.class) - @SuppressWarnings({ "checkstyle:illegalThrows", "checkstyle:avoidHidingCauseException" }) - public void fromWithExceptionTest() throws Throwable { - try { - NotificationListenerInvoker.from(TestPrivateInterface.class); - fail("Expected IllegalAccessException"); - } catch (UncheckedExecutionException e) { - throw e.getCause(); - } + @Test + public void fromWithExceptionTest() { + final var cause = assertThrows(UncheckedExecutionException.class, + () -> NotificationListenerInvoker.from(TestPrivateInterface.class)) + .getCause(); + assertThat(cause, instanceOf(IllegalStateException.class)); + assertThat(cause.getCause(), instanceOf(IllegalAccessException.class)); } - @Test(expected = WrongMethodTypeException.class) - public void invokeNotification() throws Exception { + @Test + public void invokeNotification() { final NotificationListener notificationListener = mock(NotificationListener.class); final MethodHandle methodHandle = mock(MethodHandle.class); final NotificationListenerInvoker notificationListenerInvoker = new NotificationListenerInvoker(ImmutableMap.of(QName.create("test", "test"), methodHandle)); - notificationListenerInvoker.invokeNotification(notificationListener, QName.create("test", "test"), null); - fail("Expected WrongMethodTypeException, no method to invoke is supplied"); + final var ex = assertThrows(WrongMethodTypeException.class, + () -> notificationListenerInvoker.invokeNotification(notificationListener, QName.create("test", "test"), + null)); + assertEquals("expected null but found (NotificationListener,DataContainer)void", ex.getMessage()); } public interface TestInterface extends NotificationListener, Augmentation { QName QNAME = QName.create("test", "test"); + void onTestNotificationInterface(TestNotificationInterface notif); } private interface TestPrivateInterface extends NotificationListener, Augmentation { QName QNAME = QName.create("test", "test"); + void onTestNotificationInterface(TestNotificationInterface notif); } - public interface TestNotificationInterface extends Notification { + public interface TestNotificationInterface extends DataObject, Notification { QName QNAME = QName.create("test", "test"); } } \ No newline at end of file