public void DistinctInputsAndOutputsAreAggregated() { var predictors = new IProjectStaticPredictor[] { new MockPredictor(new StaticPredictions( new[] { new BuildInput(@"foo\bar1", false) }, new[] { new BuildOutputDirectory(@"blah\boo1") })), new MockPredictor2(new StaticPredictions( new[] { new BuildInput(@"foo\bar2", false) }, new[] { new BuildOutputDirectory(@"blah\boo2") })), }; var executor = new ProjectStaticPredictionExecutor(@"c:\repo", predictors); var project = TestHelpers.CreateProjectFromRootElement(ProjectRootElement.Create()); StaticPredictions predictions = executor.PredictInputsAndOutputs(project); BuildInput[] expectedInputs = { new BuildInput(@"foo\bar1", false, "MockPredictor"), new BuildInput(@"foo\bar2", false, "MockPredictor2"), }; BuildOutputDirectory[] expectedBuildOutputDirectories = { new BuildOutputDirectory(@"blah\boo1", "MockPredictor"), new BuildOutputDirectory(@"blah\boo2", "MockPredictor2"), }; predictions.AssertPredictions(expectedInputs, expectedBuildOutputDirectories); }
public void DuplicateInputsAndOutputsMergePredictedBys() { var predictors = new IProjectStaticPredictor[] { new MockPredictor(new StaticPredictions( new[] { new BuildInput(@"foo\bar", false) }, new[] { new BuildOutputDirectory(@"blah\boo") })), new MockPredictor2(new StaticPredictions( new[] { new BuildInput(@"foo\bar", false) }, new[] { new BuildOutputDirectory(@"blah\boo") })), }; var executor = new ProjectStaticPredictionExecutor(@"c:\repo", predictors); var project = TestHelpers.CreateProjectFromRootElement(ProjectRootElement.Create()); StaticPredictions predictions = executor.PredictInputsAndOutputs(project); predictions.AssertPredictions( new[] { new BuildInput(@"foo\bar", false, "MockPredictor", "MockPredictor2") }, new[] { new BuildOutputDirectory(@"blah\boo", "MockPredictor", "MockPredictor2") }); }