for testing , the export path can be arbitrary . our catalogmigratableconfig object is real and initilized to defaults . the migrationtaskmanager is the classunder test and is loaded with a real list of mock future objects , otherwise we will get a null pointer exception in the foreach loop of exportfinish . the exception to this rule is the final test method where we examine exportmetacardquery and absolutely require the whole list to be a mock . concode_field_sep int TEST_FUTURES_LIST_SIZE concode_elem_sep ListeningExecutorService mockExecutor concode_elem_sep ArgumentCaptor<File> argFileCaptor concode_elem_sep long TEST_GROUP_COUNT concode_elem_sep MigrationFileWriter mockFileWriter concode_elem_sep MigrationTaskManager taskManager concode_elem_sep int TEST_RESULTS_LIST_SIZE concode_elem_sep int TEST_FILE_SIZE concode_elem_sep CatalogMigratableConfig config concode_elem_sep ArgumentCaptor<List<Result>> argResultCaptor concode_field_sep void testExportFinishedTimeoutShutdown concode_elem_sep List<List<Result>> generateExpectedResults concode_elem_sep List<File> generateTestFiles concode_elem_sep void testExportMetacardQuerySubmit concode_elem_sep void testExportMetacardQueryEmptyList concode_elem_sep void testExportFinishedInterruptedShutdown concode_elem_sep List<Result> generateProvidedResults concode_elem_sep void testExportFinishedGracefulShutdown
void function ( ) { config = new CatalogMigratableConfig ( ) ; config . setExportPath ( Paths . get ( "srini_string" , "srini_string" , "srini_string" ) ) ; taskManager = new MigrationTaskManager ( config , mockFileWriter , ( ) -> mockExecutor ) ; }