public void Should_Add_Mandatory_Arguments() { // Given var fixture = new VSWhereProductFixture(); // When var result = fixture.Run(); // Then Assert.Equal("-products \"Microsoft.VisualStudio.Product.BuildTools\" -property installationPath -nologo", result.Args); }
public void Should_Find_VSWhere_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new VSWhereProductFixture(); // When var result = fixture.Run(); // Then Assert.Equal("/Working/tools/vswhere.exe", result.Path.FullPath); }
public void Should_Find_VSWhere_Executable_If_Tool_Path_Not_Provided() { // Given var fixture = new VSWhereProductFixture(); // When var result = fixture.Run(); // Then Assert.Equal("/Program86/Microsoft Visual Studio/Installer/vswhere.exe", result.Path.FullPath); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new VSWhereProductFixture(); fixture.GivenProcessExitsWithCode(1); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsCakeException(result, "VSWhere: Process returned an error (exit code 1)."); }
public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new VSWhereProductFixture(); fixture.GivenProcessCannotStart(); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsCakeException(result, "VSWhere: Process was not started."); }
public void Should_Throw_If_VSWhere_Executable_Was_Not_Found() { // Given var fixture = new VSWhereProductFixture(); fixture.GivenDefaultToolDoNotExist(); // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsCakeException(result, "VSWhere: Could not locate executable."); }
public void Should_Not_Include_Products_If_Set_To_Empty() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.Products = string.Empty; // When var result = fixture.Run(); // Then Assert.Equal("-property installationPath -nologo", result.Args); }
public void Should_Not_Include_Property_To_Arguments_If_Set_To_Empty() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.ReturnProperty = string.Empty; // When var result = fixture.Run(); // Then Assert.Equal("-products \"Microsoft.VisualStudio.Product.BuildTools\" -nologo", result.Args); }
public void Should_Throw_If_Settings_Are_Null() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings = null; // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsArgumentNullException(result, "settings"); }
public void Should_Add_Requires_To_Arguments_If_Set() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.Requires = "Test.Component"; // When var result = fixture.Run(); // Then Assert.Equal("-products \"Microsoft.VisualStudio.Product.BuildTools\" -requires \"Test.Component\" -property installationPath -nologo", result.Args); }
public void Should_Add_Version_To_Arguments_If_Set() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.Version = "15"; // When var result = fixture.Run(); // Then Assert.Equal("-products \"Microsoft.VisualStudio.Product.BuildTools\" -version \"15\" -property installationPath -nologo", result.Args); }
public void Should_Add_Prerelease_To_Arguments_If_Set() { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.IncludePrerelease = true; // When var result = fixture.Run(); // Then Assert.Equal("-products \"Microsoft.VisualStudio.Product.BuildTools\" -property installationPath -prerelease -nologo", result.Args); }
public void Should_Use_VSWhere_Executable_From_Tool_Path_If_Provided_On_Windows(string toolPath, string expected) { // Given var fixture = new VSWhereProductFixture(); fixture.Settings.ToolPath = toolPath; fixture.GivenSettingsToolPathExist(); // When var result = fixture.Run(); // Then Assert.Equal(expected, result.Path.FullPath); }