public void TestRetrieveSubsetTargetsFromResult() { ResultsCache cache = new ResultsCache(); BuildRequest request = new BuildRequest(1 /* submissionId */, 0, 1, new string[1] { "testTarget2" }, null, BuildEventContext.Invalid, null); BuildResult result = new BuildResult(request); result.AddResultsForTarget("testTarget", TestUtilities.GetEmptyFailingTargetResult()); result.AddResultsForTarget("testTarget2", TestUtilities.GetEmptySucceedingTargetResult()); cache.AddResult(result); ResultsCacheResponse response = cache.SatisfyRequest(request, new List <string>(), new List <string>(new string[] { "testTarget2" }), new List <string>(new string[] { "testTarget" }), skippedResultsAreOK: false); Assert.Equal(ResultsCacheResponseType.Satisfied, response.Type); Assert.True(AreResultsIdenticalForTarget(result, response.Results, "testTarget2")); Assert.False(response.Results.HasResultsForTarget("testTarget")); Assert.Equal(BuildResultCode.Failure, response.Results.OverallResult); }