### Question:
ItemManagerImpl implements ItemManager { @Override public Id create(SessionContext context, Info itemInfo) { return createItem(context, new Id(), itemInfo); }  @Override Collection<Item> list(SessionContext context); @Override boolean isExist(SessionContext context, Id itemId); @Override Item get(SessionContext context, Id itemId); @Override Id create(SessionContext context, Info itemInfo); @Override Id create(SessionContext context, Id itemId, Info itemInfo); @Override void update(SessionContext context, Id itemId, Info itemInfo); @Override void delete(SessionContext context, Id itemId); @Override void updateModificationTime(SessionContext context, Id itemId, Date modificationTime);  }### Answer:
@Test public void testCreate() { Info info = TestUtils.createInfo("item1"); Id itemId = itemManagerImpl.create(context, info); Assert.assertNotNull(itemId); verify(collaborationAdaptorMock).createItem(context, itemId, info); verify(stateAdaptorMock).createItem(eq(context), eq(itemId), eq(info), any(Date.class)); }
@Test(expectedExceptions = ZusammenException.class) public void testFailCreateWithNullId() { Info info = TestUtils.createInfo("item1"); itemManagerImpl.create(context, null, info); }
@Test(expectedExceptions = ZusammenException.class) public void testFailCreateWithExistingId() { Id itemId = new Id("id1"); doReturn(new Response<>(true)).when(stateAdaptorMock).isItemExist(context, itemId); Info info = TestUtils.createInfo("item1"); itemManagerImpl.create(context, itemId, info); }