### Question:
TransactionalTypeAwarePluginTopicService implements TypeAwarePluginTopicService { public Topic createTopic(Topic topicDto, String bodyText) throws NotFoundException { return topicModificationService.createTopic(topicDto, bodyText); } private  TransactionalTypeAwarePluginTopicService(); static TypeAwarePluginTopicService getInstance(); void setTopicFetchService(PluginTopicFetchService topicFetchService); void setTopicModificationService(PluginTopicModificationService topicModificationService); Topic get(Long id, String type); void updateTopic(Topic topic); Topic createTopic(Topic topicDto, String bodyText); void checkViewTopicPermission(Long branchId); @Override void closeTopic(Topic topic); @Override void openTopic(Topic topic); @Override Post replyToTopic(long topicId, String answerBody, long branchId);  }### Answer:
@Test public void testCreateTopic() throws Exception { Topic expected = new Topic(); when(topicModificationService.createTopic(any(Topic.class), anyString())).thenReturn(expected); Topic actual = TransactionalTypeAwarePluginTopicService.getInstance().createTopic(new Topic(), "text"); assertEquals(actual, expected); }