@Test public void testApplyForIncrementalBatchChangesBuild() { when(localModule.getModule()).thenReturn(project); when(buildConfig.getBuildType()).thenReturn(LocalBuildConfig.BuildType.INCREMENTAL_BATCH_CHANGES.name()); Map<String, String> resourceChanges = new HashMap<>(); resourceChanges.put(LocalBuildConfig.RESOURCE_CHANGE + RESOURCE_URI_1, "ADD"); resourceChanges.put(LocalBuildConfig.RESOURCE_CHANGE + RESOURCE_URI_2, "ADD,UPDATE"); resourceChanges.put(LocalBuildConfig.RESOURCE_CHANGE + RESOURCE_URI_3, "ADD,UPDATE,DELETE"); when(buildConfig.getResourceChanges()).thenReturn(resourceChanges); Optional<BuildConfig> result = executor.apply(localModule, buildConfig); assertTrue(result.isPresent()); assertEquals(LocalBuildConfig.BuildType.INCREMENTAL_BATCH_CHANGES, ((LocalBuildConfigInternal) result.get()).getBuildType()); assertHasAllChanges(((LocalBuildConfigInternal) result.get()).getResourceChanges().get(resource1VFSPath), ResourceChangeType.ADD); assertHasAllChanges(((LocalBuildConfigInternal) result.get()).getResourceChanges().get(resource2VFSPath), ResourceChangeType.ADD, ResourceChangeType.UPDATE); assertHasAllChanges(((LocalBuildConfigInternal) result.get()).getResourceChanges().get(resource3VFSPath), ResourceChangeType.ADD, ResourceChangeType.UPDATE, ResourceChangeType.DELETE); }