@Test
@SuppressWarnings("unchecked")
public void refreshContent() {

    // dtPresenter.setContent(...) is called by the base tests @Before method so
    // expect some invocations to have occurred twice: once for setContent(...)
    // and again for refreshContent(...)
    dtPresenter.refreshContent(dtPath,
                               dtPlaceRequest,
                               dtContent,
                               false);
    verify(dtPresenter,
           times(2)).initialiseContent(eq(dtPath),
                                       eq(dtPlaceRequest),
                                       eq(dtContent),
                                       eq(false));
    verify(oracleFactory,
           times(2)).makeAsyncPackageDataModelOracle(eq(dtPath),
                                                     any(GuidedDecisionTable52.class),
                                                     any(PackageDataModelOracleBaselinePayload.class));
    verify(dtPresenter,
           times(2)).makeUiModel();
    verify(dtPresenter,
           times(2)).makeView(any(Set.class));
    verify(dtPresenter,
           times(2)).initialiseAccess(false);
    verify(dtPresenter,
           times(2)).initialiseLockManager();
    verify(dtPresenter,
           times(2)).initialiseUtilities();
    verify(dtPresenter,
           times(2)).initialiseModels();
    verify(dtPresenter,
           times(2)).initialiseValidationAndVerification();
    verify(dtPresenter,
           times(2)).initialiseAuditLog();
    assertEquals(dtContent.getModel().hashCode(),
                 (int) dtPresenter.getOriginalHashCode());
    //These invocations are as a result of the previous Presenter being destroyed
    verify(dtPresenter,
           times(1)).terminateAnalysis();
    verify(lockManager,
           times(1)).releaseLock();
    verify(oracleFactory,
           times(1)).destroy(eq(oracle));
}