### Question:
NotificationQueueConsumerServiceImpl implements NotificationQueueConsumerService, InitializingBean { @Override public void processNotification(@Nonnull final Long notificationId, @Nonnull final Map<String, String> secureProperties) { Assert.notNull(notificationId, "Notification id should not be null"); Assert.notNull(secureProperties, "Secure properties map should not be null"); LOGGER.debug("Processing notification with id - {}", notificationId); notificationProcessingService.processNotification(notificationId, secureProperties); LOGGER.debug("Successfully processed notification with id - {}", notificationId); } NotificationQueueConsumerServiceImpl(); @Override void afterPropertiesSet(); @Override void processNotification(@Nonnull final Long notificationId, @Nonnull final Map<String, String> secureProperties); NotificationProcessingService getNotificationProcessingService(); void setNotificationProcessingService(final NotificationProcessingService notificationProcessingService);  }### Answer:
@Test public void testProcessSmsNotificationMessageWithInvalidArguments() { resetAll(); replayAll(); try { smsNotificationQueueConsumerService.processNotification(null, Collections.emptyMap()); fail("Exception will be thrown"); } catch (final IllegalArgumentException e) { } try { final Long notificationId = 1L; smsNotificationQueueConsumerService.processNotification(notificationId, null); fail("Exception will be thrown"); } catch (final IllegalArgumentException e) { } verifyAll(); }
@Test public void testProcessSmsNotificationMessage() { final Long notificationId = 1L; resetAll(); notificationProcessingService.processNotification(eq(notificationId), eq(Collections.emptyMap())); expectLastCall().once(); replayAll(); smsNotificationQueueConsumerService.processNotification(notificationId, Collections.emptyMap()); verifyAll(); }