本文整理汇总了C#中MockEngine.AssertLogDoesntContain方法的典型用法代码示例。如果您正苦于以下问题:C# MockEngine.AssertLogDoesntContain方法的具体用法?C# MockEngine.AssertLogDoesntContain怎么用?C# MockEngine.AssertLogDoesntContain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockEngine
的用法示例。
在下文中一共展示了MockEngine.AssertLogDoesntContain方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExistsPromotedDependencyInTheBlackList
public void ExistsPromotedDependencyInTheBlackList()
{
string engineOnlySubset =
"<FileList Redist='Microsoft-Windows-CLRCoreComp' >" +
"<File AssemblyName='Microsoft.Build.Engine' Version='2.0.0.0' PublicKeyToken='b03f5f7f11d50a3a' Culture='Neutral' FileVersion='2.0.50727.208' InGAC='true' />" +
"</FileList >";
string implicitRedistListContents =
"<FileList Redist='Microsoft-Windows-CLRCoreComp' >" +
"<File AssemblyName='UniFYme' Version='2.0.0.0' Culture='neutral' PublicKeyToken='b77a5c561934e089' InGAC='false' />" +
"</FileList >";
string redistListPath = FileUtilities.GetTemporaryFile();
string subsetListPath = FileUtilities.GetTemporaryFile();
string appConfigFile = null;
try
{
File.WriteAllText(redistListPath, implicitRedistListContents);
File.WriteAllText(subsetListPath, engineOnlySubset);
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Construct the app.config.
appConfigFile = WriteAppConfig
(
" <dependentAssembly>\n" +
" <assemblyIdentity name='UnifyMe' PublicKeyToken='b77a5c561934e089' culture='neutral' />\n" +
" <bindingRedirect oldVersion='1.0.0.0' newVersion='2.0.0.0' />\n" +
" </dependentAssembly>\n"
);
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.InstalledAssemblyTables = new TaskItem[] { new TaskItem(redistListPath) };
t.InstalledAssemblySubsetTables = new TaskItem[] { new TaskItem(subsetListPath) };
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AppConfigFile = appConfigFile;
bool succeeded = Execute(t, false);
Assert.True(succeeded);
Assert.Equal(0, t.ResolvedDependencyFiles.Length);
engine.AssertLogDoesntContain
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByAppConfig"), "1.0.0.0", appConfigFile, @"C:\MyApp\v1.0\DependsOnUnified.dll")
);
}
finally
{
File.Delete(redistListPath);
File.Delete(subsetListPath);
// Cleanup.
File.Delete(appConfigFile);
}
}
示例2: ReferenceTablePrimaryItemInBlackListSpecificVersionTrue
public void ReferenceTablePrimaryItemInBlackListSpecificVersionTrue()
{
MockEngine mockEngine = new MockEngine();
ResolveAssemblyReference rar = new ResolveAssemblyReference();
rar.BuildEngine = mockEngine;
ReferenceTable referenceTable = MakeEmptyReferenceTable(rar.Log);
Dictionary<AssemblyNameExtension, Reference> table = referenceTable.References;
AssemblyNameExtension engineAssemblyName = new AssemblyNameExtension("Microsoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
AssemblyNameExtension xmlAssemblyName = new AssemblyNameExtension("System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Reference reference = new Reference(isWinMDFile, fileExists, getRuntimeVersion);
TaskItem taskItem = new TaskItem("Microsoft.Build.Engine");
taskItem.SetMetadata("SpecificVersion", "true");
reference.MakePrimaryAssemblyReference(taskItem, true, ".dll");
table.Add(engineAssemblyName, reference);
table.Add(xmlAssemblyName, new Reference(isWinMDFile, fileExists, getRuntimeVersion));
Hashtable blackList = new Hashtable(StringComparer.OrdinalIgnoreCase);
blackList[engineAssemblyName.FullName] = null;
string[] targetFrameworks = new string[] { "Client", "Web" };
string subSetName = ResolveAssemblyReference.GenerateSubSetName(targetFrameworks, null);
referenceTable.MarkReferencesForExclusion(blackList);
referenceTable.RemoveReferencesMarkedForExclusion(false, subSetName);
Dictionary<AssemblyNameExtension, Reference> table2 = referenceTable.References;
string warningMessage = rar.Log.FormatResourceString("ResolveAssemblyReference.FailedToResolveReferenceBecausePrimaryAssemblyInExclusionList", taskItem.ItemSpec, subSetName);
Assert.False(Object.ReferenceEquals(table, table2)); // "Expected hashtable to be a different instance"
Assert.Equal(2, table2.Count); // "Expected there to be two elements in the hashtable"
Assert.True(table2.ContainsKey(engineAssemblyName)); // "Expected to find the engineAssemblyName in the referenceList"
Assert.True(table2.ContainsKey(xmlAssemblyName)); // "Expected to find the xmlssemblyName in the referenceList"
mockEngine.AssertLogDoesntContain(warningMessage);
}
示例3: Verifyp2pAndProfile2
public void Verifyp2pAndProfile2()
{
// Create a generic redist list with system.xml and microsoft.build.engine.
string profileRedistList = String.Empty;
string fullRedistList = String.Empty;
string fullFrameworkDirectory = Path.Combine(Path.GetTempPath(), "Verifyp2pAndProfile");
string targetFrameworkDirectory = Path.Combine(fullFrameworkDirectory, "Profiles\\Client");
string fullRedistListContents =
"<FileList Redist='Microsoft-Windows-CLRCoreComp' >" +
"<File AssemblyName='System' Version='9.0.0.0' PublicKeyToken='b77a5c561934e089' Culture='Neutral'/>" +
"</FileList >";
try
{
GenerateRedistAndProfileXmlLocations(fullRedistListContents, _engineOnlySubset, out profileRedistList, out fullRedistList, fullFrameworkDirectory, targetFrameworkDirectory);
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine e = new MockEngine();
t.BuildEngine = e;
TaskItem item = new TaskItem(@"c:\MyComponents\misc\DependsOn9Also.dll");
item.SetMetadata("SpecificVersion", "true");
t.AssemblyFiles = new ITaskItem[] { item };
t.SearchPaths = new string[] { @"{TargetFrameworkDirectory}", fullFrameworkDirectory };
t.TargetFrameworkDirectories = new string[] { targetFrameworkDirectory };
t.InstalledAssemblyTables = new ITaskItem[] { new TaskItem(profileRedistList) };
t.IgnoreDefaultInstalledAssemblyTables = true;
t.FullFrameworkFolders = new string[] { fullFrameworkDirectory };
t.ProfileName = "Client";
bool success = Execute(t);
Assert.True(success); // "Expected no errors."
Assert.Equal(1, t.ResolvedFiles.Length); // "Expected no resolved assemblies."
string warningMessage = t.Log.FormatResourceString("ResolveAssemblyReference.FailBecauseDependentAssemblyInExclusionList", @"c:\MyComponents\misc\DependsOn9Also.dll", "System, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "Client");
e.AssertLogDoesntContain(warningMessage);
}
finally
{
if (Directory.Exists(fullFrameworkDirectory))
{
Directory.Delete(fullFrameworkDirectory, true);
}
}
}
示例4: ResolveBadImageInPrimary
public void ResolveBadImageInPrimary()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine engine = new MockEngine();
t.BuildEngine = engine;
t.Assemblies = new ITaskItem[]
{
new TaskItem("BadImage")
};
t.Assemblies[0].SetMetadata("Private", "true");
t.SearchPaths = new string[] { @"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion" };
t.TargetFrameworkDirectories = new string[] { @"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion" };
Execute(t);
// There should be no resolved file, because the image was bad.
Assert.Equal(0, t.ResolvedFiles.Length);
// There should be no related files either.
Assert.Equal(0, t.RelatedFiles.Length);
engine.AssertLogDoesntContain("BadImage.pdb");
engine.AssertLogDoesntContain("HRESULT");
// There should have been one warning about the exception.
Assert.Equal(1, engine.Warnings);
}
示例5: ResolveBadImageInSecondary
public void ResolveBadImageInSecondary()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine engine = new MockEngine(true);
t.BuildEngine = engine;
t.Assemblies = new ITaskItem[]
{
new TaskItem("DependsOnBadImage")
};
t.SearchPaths = new string[]
{
@"c:\Regress563286",
@"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion"
};
Execute(t);
// There should be one resolved file, because the dependency was bad.
Assert.Equal(1, t.ResolvedFiles.Length);
// There should be no related files.
Assert.Equal(0, t.RelatedFiles.Length);
engine.AssertLogDoesntContain("BadImage.pdb");
engine.AssertLogDoesntContain("HRESULT");
// There should have been no warning about the exception because it's only a dependency
Assert.Equal(0, engine.Warnings);
}
示例6: Regress242970
public void Regress242970()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine engine = new MockEngine();
t.BuildEngine = engine;
t.Assemblies = new ITaskItem[] { new TaskItem("System.XML") };
t.SearchPaths = new string[] { "{CandidateAssemblyFiles}" };
t.CandidateAssemblyFiles = new string[]
{
@"NonUI\testDirectoryRoot\.hiddenfile",
@"NonUI\testDirectoryRoot\.dll",
@"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion\System.Xml.dll"
};
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedFiles.Length);
Assert.Equal(@"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion\System.Xml.dll", t.ResolvedFiles[0].ItemSpec);
// For {CandidateAssemblyFiles} we don't even want to see a comment logged for files with non-standard extensions.
// This is because {CandidateAssemblyFiles} is very likely to contain non-assemblies and its best not to clutter
// up the log.
engine.AssertLogDoesntContain
(
String.Format(".hiddenfile")
);
// ...but we do want to see a log entry for standard extensions, even if the base file name is empty.
engine.AssertLogContains
(
String.Format(@"NonUI\testDirectoryRoot\.dll")
);
}
示例7: Regress444793
public void Regress444793()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine engine = new MockEngine();
t.BuildEngine = engine;
TaskItem item = new TaskItem(@"c:\DoesntExist\System.Xml.dll");
item.SetMetadata("HintPath", @"c:\WINNT\Microsoft.NET\Framework\v2.0.MyVersion\System.Data.dll");
item.SetMetadata("SpecificVersion", "true");
t.Assemblies = new ITaskItem[] { item };
t.SearchPaths = new string[]
{
@"{HintPathFromItem}"
};
bool succeeded = Execute(t);
Assert.True(succeeded);
engine.AssertLogDoesntContain("MSB4018");
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("General.MalformedAssemblyName"), "c:\\DoesntExist\\System.Xml.dll")
);
}
示例8: HigherThanHighestInRedistList3rdPartyRedist
public void HigherThanHighestInRedistList3rdPartyRedist()
{
MockEngine e = new MockEngine();
ITaskItem[] items = new ITaskItem[]
{
new TaskItem("ReferenceVersion9")
};
string redistString = "<FileList Redist='MyRandomREdist' >" +
"<File AssemblyName='mscorlib' Version='4.0.0.0' PublicKeyToken='b17a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
"</FileList >";
ResolveAssemblyReference t = new ResolveAssemblyReference();
ExecuteRAROnItemsAndRedist(t, e, items, redistString, false);
Assert.Equal(0, e.Warnings); // "Expected one warning in this scenario."
e.AssertLogDoesntContain("MSB3257");
e.AssertLogContains("ReferenceVersion9");
Assert.Equal(1, t.ResolvedFiles.Length);
}
示例9: TwoDependenciesHigherThanHighestInRedistListIgnoreOnBoth
public void TwoDependenciesHigherThanHighestInRedistListIgnoreOnBoth()
{
MockEngine e = new MockEngine();
ITaskItem[] items = new ITaskItem[]
{
new TaskItem("DependsOn9, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089"),
new TaskItem("DependsOn9Also, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089")
};
items[0].SetMetadata("SpecificVersion", "true");
items[1].SetMetadata("SpecificVersion", "true");
string redistString = "<FileList Redist='Microsoft-Windows-CLRCoreComp-Random' >" +
"<File AssemblyName='System' Version='4.0.0.0' PublicKeyToken='b77a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
"</FileList >";
ResolveAssemblyReference t = new ResolveAssemblyReference();
ExecuteRAROnItemsAndRedist(t, e, items, redistString, true);
Assert.Equal(0, e.Warnings); // "No warnings expected in this scenario."
e.AssertLogDoesntContain("MSB3258");
Assert.Equal(0, e.Errors); // "No errors expected in this scenario."
Assert.Equal(2, t.ResolvedFiles.Length);
Assert.True(ContainsItem(t.ResolvedFiles, @"c:\MyComponents\misc\DependsOn9.dll")); // "Expected to find assembly, but didn't."
Assert.True(ContainsItem(t.ResolvedFiles, @"c:\MyComponents\misc\DependsOn9Also.dll")); // "Expected to find assembly, but didn't."
}
示例10: VerifyLogDoesNotContainErrorFromResource
/// <summary>
/// Given a log and a resource string, acquires the text of that resource string and
/// compares it to the log. Assert fails if the log contains the desired string.
/// </summary>
/// <param name="e">The MockEngine that contains the log we're checking</param>
/// <param name="log">The TaskLoggingHelper that we use to load the string resource</param>
/// <param name="errorResource">The name of the resource string to check the log for</param>
/// <param name="args">Arguments needed to format the resource string properly</param>
internal static void VerifyLogDoesNotContainErrorFromResource(MockEngine e, TaskLoggingHelper log, string errorResource, params object[] args)
{
string errorMessage = log.FormatResourceString(errorResource, args);
e.AssertLogDoesntContain(errorMessage);
}
示例11: ToolPath
public void ToolPath()
{
var t = new ResolveComReference.AxImp();
t.ActiveXControlName = "FakeControl.ocx";
string badParameterValue = @"C:\Program Files\Microsoft Visual Studio 10.0\My Fake SDK Path";
string goodParameterValue = Path.GetTempPath();
bool taskPassed;
Assert.Null(t.ToolPath); // "ToolPath should be null by default"
Utilities.ExecuteTaskAndVerifyLogContainsErrorFromResource(t, "AxTlbBaseTask.SdkOrToolPathNotSpecifiedOrInvalid", t.SdkToolsPath, t.ToolPath);
t.ToolPath = badParameterValue;
Assert.Equal(badParameterValue, t.ToolPath); // "New ToolPath value should be set"
Utilities.ExecuteTaskAndVerifyLogContainsErrorFromResource(t, "AxTlbBaseTask.SdkOrToolPathNotSpecifiedOrInvalid", t.SdkToolsPath, t.ToolPath);
MockEngine e = new MockEngine();
t.BuildEngine = e;
t.ToolPath = goodParameterValue;
Assert.Equal(goodParameterValue, t.ToolPath); // "New ToolPath value should be set"
taskPassed = t.Execute();
Assert.False(taskPassed); // "Task should still fail -- there are other things wrong with it."
// but that particular error shouldn't be there anymore.
string toolPathMessage = t.Log.FormatResourceString("AxTlbBaseTask.SdkOrToolPathNotSpecifiedOrInvalid", t.SdkToolsPath, t.ToolPath);
string messageWithNoCode;
string toolPathCode = t.Log.ExtractMessageCode(toolPathMessage, out messageWithNoCode);
e.AssertLogDoesntContain(toolPathCode);
}
示例12: ExistsWithPrimaryReferenceOnBlackList
public void ExistsWithPrimaryReferenceOnBlackList()
{
string implicitRedistListContents =
"<FileList Redist='Microsoft-Windows-CLRCoreComp' >" +
"<File AssemblyName='DependsOnUnified' Version='2.0.0.0' Culture='neutral' PublicKeyToken='b77a5c561934e089' InGAC='false' />" +
"</FileList >";
string engineOnlySubset =
"<FileList Redist='Microsoft-Windows-CLRCoreComp' >" +
"<File AssemblyName='Microsoft.Build.Engine' Version='2.0.0.0' PublicKeyToken='b03f5f7f11d50a3a' Culture='Neutral' FileVersion='2.0.50727.208' InGAC='true' />" +
"</FileList >";
string redistListPath = FileUtilities.GetTemporaryFile();
string subsetListPath = FileUtilities.GetTemporaryFile();
try
{
File.WriteAllText(redistListPath, implicitRedistListContents);
File.WriteAllText(subsetListPath, engineOnlySubset);
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),
new TaskItem("DependsOnUnified, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.InstalledAssemblyTables = new TaskItem[] { new TaskItem(redistListPath) };
t.InstalledAssemblySubsetTables = new TaskItem[] { new TaskItem(subsetListPath) };
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AutoUnify = true;
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedFiles.Length); // "Expected there to only be one resolved file"
Assert.True(t.ResolvedFiles[0].ItemSpec.Contains(@"C:\MyApp\v1.0\DependsOnUnified.dll")); // "Expected the ItemSpec of the resolved file to be the item spec of the 1.0.0.0 assembly"
Assert.Equal(1, t.ResolvedDependencyFiles.Length); // "Expected there to be two resolved dependencies"
AssertNoCase("UnifyMe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", t.ResolvedDependencyFiles[0].GetMetadata("FusionName"));
AssertNoCase(@"C:\MyComponents\v1.0\UnifyMe.dll", t.ResolvedDependencyFiles[0].ItemSpec);
engine.AssertLogDoesntContain
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnifiedDependency"), "UnifyMe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, ProcessorArchitecture=MSIL")
);
engine.AssertLogDoesntContain
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByAutoUnify"), "1.0.0.0", @"C:\MyApp\v2.0\DependsOnUnified.dll")
);
}
finally
{
File.Delete(redistListPath);
File.Delete(subsetListPath);
}
}
示例13: VerifyImplementationArchitecture
private void VerifyImplementationArchitecture(string winmdName, string targetProcessorArchitecture, string implementationFileArch, string warnOrErrorOnTargetArchitectureMismatch)
{
// Create the engine.
MockEngine engine = new MockEngine();
TaskItem item = new TaskItem(winmdName);
ITaskItem[] assemblyFiles = new TaskItem[] { item };
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyFiles;
t.SearchPaths = new String[] { @"C:\WinMDArchVerification" };
t.TargetProcessorArchitecture = targetProcessorArchitecture;
t.WarnOrErrorOnTargetArchitectureMismatch = warnOrErrorOnTargetArchitectureMismatch;
bool succeeded = Execute(t);
Assert.Equal(1, t.ResolvedFiles.Length);
Assert.True(t.ResolvedFiles[0].ItemSpec.Equals(@"C:\WinMDArchVerification\" + winmdName + ".winmd", StringComparison.OrdinalIgnoreCase));
Assert.True(t.ResolvedFiles[0].GetMetadata(ItemMetadataNames.imageRuntime).Equals(@"WindowsRuntime 1.0", StringComparison.OrdinalIgnoreCase));
Assert.True(bool.Parse(t.ResolvedFiles[0].GetMetadata(ItemMetadataNames.winMDFile)));
string fullMessage = null;
if (implementationFileArch.Equals("Unknown"))
{
fullMessage = ResourceUtilities.FormatResourceString("ResolveAssemblyReference.UnknownProcessorArchitecture", @"C:\WinMDArchVerification\" + winmdName + ".dll", @"C:\WinMDArchVerification\" + winmdName + ".winmd", NativeMethods.IMAGE_FILE_MACHINE_R4000.ToString("X", CultureInfo.InvariantCulture));
}
else
{
fullMessage = ResourceUtilities.FormatResourceString("ResolveAssemblyReference.MismatchBetweenTargetedAndReferencedArchOfImplementation", targetProcessorArchitecture, implementationFileArch, @"C:\WinMDArchVerification\" + winmdName + ".dll", @"C:\WinMDArchVerification\" + winmdName + ".winmd");
}
if (warnOrErrorOnTargetArchitectureMismatch.Equals("None", StringComparison.OrdinalIgnoreCase))
{
engine.AssertLogDoesntContain(fullMessage);
}
else
{
engine.AssertLogContains(fullMessage);
}
if (warnOrErrorOnTargetArchitectureMismatch.Equals("Warning", StringComparison.OrdinalIgnoreCase))
{
// Should fail since PE Header is not valid and this is always an error.
Assert.True(succeeded);
Assert.True(t.ResolvedFiles[0].GetMetadata(ItemMetadataNames.winmdImplmentationFile).Equals(winmdName + ".dll"));
Assert.Equal(0, engine.Errors);
Assert.Equal(1, engine.Warnings);
}
else if (warnOrErrorOnTargetArchitectureMismatch.Equals("Error", StringComparison.OrdinalIgnoreCase))
{
// Should fail since PE Header is not valid and this is always an error.
Assert.False(succeeded);
Assert.Equal(0, t.ResolvedFiles[0].GetMetadata(ItemMetadataNames.winmdImplmentationFile).Length);
Assert.Equal(1, engine.Errors);
Assert.Equal(0, engine.Warnings);
}
else if (warnOrErrorOnTargetArchitectureMismatch.Equals("None", StringComparison.OrdinalIgnoreCase))
{
Assert.True(succeeded);
Assert.True(t.ResolvedFiles[0].GetMetadata(ItemMetadataNames.winmdImplmentationFile).Equals(winmdName + ".dll"));
Assert.Equal(0, engine.Errors);
Assert.Equal(0, engine.Warnings);
}
}
示例14: IgnoreReferenceToMscorlib
public void IgnoreReferenceToMscorlib()
{
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyFiles = new TaskItem[]
{
new TaskItem(@"SampleWindowsRuntimeOnly"), new TaskItem(@"SampleWindowsRuntimeAndClr")
};
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyFiles;
t.TargetProcessorArchitecture = "X86";
t.SearchPaths = new String[] { @"C:\WinMD", @"C:\WinMD\v4\", @"C:\WinMD\v255\" };
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(2, t.ResolvedFiles.Length);
Assert.Equal(0, t.ResolvedDependencyFiles.Length);
Assert.Equal(0, engine.Errors);
Assert.Equal(0, engine.Warnings);
engine.AssertLogDoesntContain("conflict");
}