@Test public void testCorrectStatusUpdatesAreSent() throws FileNotFoundException, NDPReadException, ImageTilingException { ImageInformation info = createImageInformation(); // setup mocks so we get 3x4 tiles when(tilePositions.getTileXPositions()).thenReturn(Arrays.asList(new Long[] {1L, 2L, 3L})); when(tilePositions.getTileYPositions()).thenReturn(Arrays.asList(new Long[] {5L, 7L, 9L, 11L})); when(tilePositions.getTileWidthInPixels()).thenReturn(20); when(tilePositions.getTileHeightInPixels()).thenReturn(10); when(tilePositions.getTotalNumberOfTiles()).thenReturn(12); File outputDirectory = temporaryFolder.newFolder("output"); splitter.tileImage("testfile", tilePositions, info, 30, outputDirectory, statusUpdater); // check that we got updates for tiles 1-12 being completed verify(statusUpdater).setNumberOfTiles(12); verify(statusUpdater).setNumberOfTilesCompleted(0); verify(statusUpdater).setNumberOfTilesCompleted(1); verify(statusUpdater).setNumberOfTilesCompleted(2); verify(statusUpdater).setNumberOfTilesCompleted(3); verify(statusUpdater).setNumberOfTilesCompleted(4); verify(statusUpdater).setNumberOfTilesCompleted(5); verify(statusUpdater).setNumberOfTilesCompleted(6); verify(statusUpdater).setNumberOfTilesCompleted(7); verify(statusUpdater).setNumberOfTilesCompleted(8); verify(statusUpdater).setNumberOfTilesCompleted(9); verify(statusUpdater).setNumberOfTilesCompleted(10); verify(statusUpdater).setNumberOfTilesCompleted(11); verify(statusUpdater).setNumberOfTilesCompleted(12); verifyNoMoreInteractions(statusUpdater); }