public void HighestVersionSelectedIfNoVersionMatch() { var toolsetV14 = new MsbuildToolSet("14.0", "v14path"); var toolsetV12 = new MsbuildToolSet("12.0", "v12path"); var toolsetV4 = new MsbuildToolSet("4.0", "v4path"); var installedToolsets = new List <MsbuildToolSet> { toolsetV14, toolsetV12, toolsetV4 }; var selectedToolset = MsBuildUtility.SelectMsbuildToolset( msbuildVersion: new System.Version("5.6"), installedToolsets: installedToolsets); Assert.Equal(selectedToolset, toolsetV14); }
public void VersionSelectedThatMatchesMSBuildVersionMajor() { var toolsetV14 = new MsbuildToolSet("14.0", "v14path"); var toolsetV12 = new MsbuildToolSet("12.0", "v12path"); var toolsetV4 = new MsbuildToolSet("4.0", "v4path"); var installedToolsets = new List <MsbuildToolSet> { toolsetV14, toolsetV12, toolsetV4 }; var selectedToolset = MsBuildUtility.SelectMsbuildToolset( msbuildVersion: new Version("4.6"), installedToolsets: installedToolsets); Assert.Equal(selectedToolset, toolsetV4); }
public void TestVersionMatchByNumber() { var toolsetV14 = new MsbuildToolSet("14.0", "v14path"); var toolsetV12 = new MsbuildToolSet("12.0", "v12path"); var toolsetV4 = new MsbuildToolSet("4.0", "v4path"); var installedToolsets = new List <MsbuildToolSet> { toolsetV14, toolsetV12, toolsetV4 }; // Act var directory = MsBuildUtility.GetMsbuildDirectoryInternal( userVersion: "12", console: null, installedToolsets: installedToolsets); // Assert Assert.Equal(directory, toolsetV12.ToolsPath); }
public void TestVersionMatchByString(string userVersion, string expectedDirectory) { // Arrange var toolsetV14 = new MsbuildToolSet("14.0", "v14path"); var toolsetV12 = new MsbuildToolSet("12.0", "v12path"); var toolsetFoo4 = new MsbuildToolSet("Foo4.0", "foo4path"); var installedToolsets = new List <MsbuildToolSet> { toolsetV14, toolsetV12, toolsetFoo4 }; // Act var directory = MsBuildUtility.GetMsbuildDirectoryInternal( userVersion: userVersion, console: null, installedToolsets: installedToolsets); // Assert Assert.Equal(directory, expectedDirectory); }
public void TestVersionMatchByStringFailure(string userVersion) { var toolsetV14 = new MsbuildToolSet("14.0", "v14path"); var toolsetV12 = new MsbuildToolSet("12.0", "v12path"); var toolsetFoo4 = new MsbuildToolSet("Foo4.0", "foo4path"); var installedToolsets = new List <MsbuildToolSet> { toolsetV14, toolsetV12, toolsetFoo4 }; // Act var ex = Assert.Throws <CommandLineException>(() => { var directory = MsBuildUtility.GetMsbuildDirectoryInternal( userVersion: userVersion, console: null, installedToolsets: installedToolsets); }); // Assert Assert.Equal( $"Cannot find the specified version of msbuild: '{userVersion}'", ex.Message); }