### Question:
CreateTaskPersistence implements Startable { public CreateTaskPersistence(final CreateTaskDelegate delegate, final EventsConsumer consumer, final IdProvider provider, JiraEventFactory jiraEventFactory) { this.delegate = delegate; this.consumer = consumer; this.provider = provider; this.jiraEventFactory = jiraEventFactory; } CreateTaskPersistence(final CreateTaskDelegate delegate, final EventsConsumer consumer,
            final IdProvider provider, JiraEventFactory jiraEventFactory); @Override void start(); @Override void stop();  }### Answer:
@Test public void testCreateTaskPersistence() { TaskData taskData = taskData(); delegate.createTask(taskData); final CreateTaskEvent3 event3 = (CreateTaskEvent3) consumer.popEvent(); Assert.assertEquals("foo", event3.getTaskName()); Assert.assertEquals(new Double(0.0), event3.getBudget()); Assert.assertEquals(new ObjectIdentity("0"), event3.getObjectIdentity()); final SetJiraIssueToTask issueEvent = (SetJiraIssueToTask) consumer.popEvent(); JiraIssue issue = issueEvent.getJiraIssueId(); Assert.assertEquals("JPT-1", issue.getKey()); Assert.assertEquals("Test Issue", issue.getSummary()); }