private void TestResolveHelper(string itemSpec, string projectGuid, string package, string name, Hashtable pregenOutputs, bool expectedResult, string expectedPath) { ITaskItem reference = CreateReferenceItem(itemSpec, projectGuid, package, name); string xmlString = CreatePregeneratedPathDoc(pregenOutputs); ITaskItem resolvedPath; ResolveNonMSBuildProjectOutput rvpo = new ResolveNonMSBuildProjectOutput(); rvpo.CacheProjectElementsFromXml(xmlString); bool result = rvpo.ResolveProject(reference, out resolvedPath); string message = string.Format("Reference \"{0}\" [project \"{1}\", package \"{2}\", name \"{3}\"] Pregen Xml string : \"{4}\"" + "expected result \"{5}\", actual result \"{6}\", expected path \"{7}\", actual path \"{8}\".", itemSpec, projectGuid, package, name, xmlString, expectedResult, result, expectedPath, resolvedPath); Assert.IsTrue(result == expectedResult, message); if (result == true) { Assert.IsTrue(resolvedPath.ItemSpec == expectedPath, message); } else { Assert.IsNull(resolvedPath, message); } }