void OneInstancePerMajorVersion() { var installations = new VsInstallation[] { new VsInstallation(new Version(15, 1), string.Empty, string.Empty), new VsInstallation(new Version(15, 7), string.Empty, "VisualStudio/15.7.3+27703.2026"), }; Assert.Single(VsTestCaseFactory.FilterInstallations(installations, new VsTestSettings())); }
void PreferLowest(int expectedMinorVersion, bool preferLowest) { var installations = new VsInstallation[] { new VsInstallation(new Version(15, 1), string.Empty, string.Empty), new VsInstallation(new Version(15, 7), string.Empty, "VisualStudio/15.7.3+27703.2026"), }; var testSettings = new VsTestSettings { VsPreferLowestMinorVersion = preferLowest, }; Assert.Equal(expectedMinorVersion, VsTestCaseFactory.FilterInstallations(installations, testSettings).First().Version.Minor); }
void AllowPreview(bool allow) { var installations = new[] { new VsInstallation(new Version(15, 8), string.Empty, "VisualStudioPreview/15.8.0-pre.2.0+27729.1") }; var testSettings = new VsTestSettings { VsAllowPreview = allow, }; if (allow) { Assert.NotEmpty(VsTestCaseFactory.FilterInstallations(installations, testSettings)); } else { Assert.Empty(VsTestCaseFactory.FilterInstallations(installations, testSettings)); } }
void FilterInstallations_PreferSpecificInstallation(string version, string expectedName) { var installationPath = "C:\\Program Files (x86)\\Microsoft Visual Studio 15.0"; var installations = new[] { new VsInstallation(new Version(14, 0, 0), string.Empty, "VisualStudio/14.0.0"), new VsInstallation(new Version(15, 0, 3), string.Empty, "VisualStudio/15.0.3"), new VsInstallation(new Version(15, 0, 2), installationPath, "VisualStudio/15.0.2"), new VsInstallation(new Version(15, 0, 1), string.Empty, "VisualStudio/15.0.1"), }; var applicationPath = VisualStudioUtil.GetApplicationPath(installationPath); var installation = VsTestCaseFactory.FilterInstallations(installations, new VsTestSettings { Version = version }, preferedAppPath: applicationPath).First(); Assert.Equal(expectedName, installation.Name); }