BuildTypesDependencyAnalyzer implements DependenciesAnalyzer<BuildDependenciesResult> { public BuildDependenciesResult forceAnalyzeDependencies(SBuildType buildType) { MavenDependenciesResult mavenResult = mavenBuildAnalyzer.forceAnalyzeDependencies(buildType); return toBuildDependenciesResult(mavenResult, buildType); } BuildTypesDependencyAnalyzer(MavenBuildTypeDependenciesAnalyzer mavenBuildAnalyzer,
                                        BuildTypeDependenciesDecorator dependenciesDecorator,
                                        BuildPlanAnalyzer buildPlanAnalyzer,
                                        BuildTypeDependenciesExtractor buildTypeDependenciesExtractor,
                                        DependenciesDao dependenciesDao); BuildDependenciesResult getBuildDependencies(SBuildType buildType); BuildDependenciesResult getBuildDependencies(SBuildType buildType, boolean checkForNewerRevision); BuildDependenciesResult analyzeDependencies(SBuildType buildType); BuildDependenciesResult forceAnalyzeDependencies(SBuildType buildType); CollectProgress getProgress(String buildTypeId, Integer position);  }
@Test public void testForceAnalyzeDependencies_Delegate() throws Exception { when(mavenBuildAnalyzer.forceAnalyzeDependencies(buildType)).thenReturn(new MavenDependenciesResult(ResultType.runningAsync)); assertThat(analyzer.forceAnalyzeDependencies(buildType).getResultType(), is(ResultType.runningAsync)); }