diff --git a/src/SlimJim.Test/Infrastructure/ArgsOptionsBuilderTests.cs b/src/SlimJim.Test/Infrastructure/ArgsOptionsBuilderTests.cs index 7744234..dd94786 100644 --- a/src/SlimJim.Test/Infrastructure/ArgsOptionsBuilderTests.cs +++ b/src/SlimJim.Test/Infrastructure/ArgsOptionsBuilderTests.cs @@ -39,7 +39,6 @@ public void SpecifiedTargetProject() Assert.That(options.TargetProjectNames, Is.EqualTo(new[] { "MyProject" })); Assert.That(options.SolutionName, Is.EqualTo("MyProject")); - } [Test] @@ -48,7 +47,7 @@ public void SpecifiedMultipleTargetProjects() options = ArgsOptionsBuilder.BuildOptions(new[] { "--target", "MyProject", "--target", "YourProject" }, WorkingDirectory); Assert.That(options.TargetProjectNames, Is.EqualTo(new[] { "MyProject", "YourProject" })); - Assert.That(options.SolutionName, Is.StringMatching("MyProject_YourProject")); + Assert.That(options.SolutionName, Does.Match("MyProject_YourProject")); } [Test] @@ -86,15 +85,47 @@ public void SpecifiedVisualStudioVersion2010() Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2010)); } - [Test] + [Test] + public void SpecifiedVisualStudioVersion2012() + { + options = ArgsOptionsBuilder.BuildOptions(new[] { "--version", "2012" }, WorkingDirectory); + + Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2012)); + } + + [Test] + public void SpecifiedVisualStudioVersion2013() + { + options = ArgsOptionsBuilder.BuildOptions(new[] { "--version", "2013" }, WorkingDirectory); + + Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2013)); + } + + [Test] + public void SpecifiedVisualStudioVersion2015() + { + options = ArgsOptionsBuilder.BuildOptions(new[] { "--version", "2015" }, WorkingDirectory); + + Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2015)); + } + + [Test] + public void SpecifiedVisualStudioVersion2017() + { + options = ArgsOptionsBuilder.BuildOptions(new[] { "--version", "2017" }, WorkingDirectory); + + Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2017)); + } + + [Test] public void InvalidVisualStudioVersionNumber() { options = ArgsOptionsBuilder.BuildOptions(new[] { "--version", "dumb" }, WorkingDirectory); - Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2015)); + Assert.That(options.VisualStudioVersion, Is.EqualTo(VisualStudioVersion.VS2017)); } - [Test] + [Test] public void SpecifiedSolutionName() { options = ArgsOptionsBuilder.BuildOptions(new[] { "--name", "MyProjects" }, WorkingDirectory); @@ -106,14 +137,12 @@ public void SpecifiedSolutionName() public void UnspecifiedSolutionNameWithSingleTargetProject() { options = ArgsOptionsBuilder.BuildOptions(new[] { "--target", "MyProject" }, WorkingDirectory); - } [Test] public void UnspecifiedSolutionNameWithMultipleTargetProjectsUsesFirstProjectNamePlusSuffix() { options = ArgsOptionsBuilder.BuildOptions(new[] { "--target", "MyProject", "--target", "YourProject" }, WorkingDirectory); - } [Test] diff --git a/src/SlimJim.Test/Infrastructure/ProjectFileFinderTests.cs b/src/SlimJim.Test/Infrastructure/ProjectFileFinderTests.cs index ac98976..3763314 100644 --- a/src/SlimJim.Test/Infrastructure/ProjectFileFinderTests.cs +++ b/src/SlimJim.Test/Infrastructure/ProjectFileFinderTests.cs @@ -50,7 +50,7 @@ public void ReturnsFileInfosForEachProjectInFileSystem() [Test] public void IgnoresRelativePath() { - finder.IgnorePatterns("Theirs"); + finder.IgnorePatterns("Their"); projectFiles = finder.FindAllProjectFiles(SampleFileSystemPath); AssertFilesMatching(new[] @@ -80,7 +80,7 @@ public void IgnoresFileName() [Test] public void IgnoresRelativePathWithDifferentCase() { - finder.IgnorePatterns("ThEiRs"); + finder.IgnorePatterns("ThEiR"); projectFiles = finder.FindAllProjectFiles(SampleFileSystemPath); AssertFilesMatching(new[] diff --git a/src/SlimJim.Test/Infrastructure/SlnFileRendererTests.cs b/src/SlimJim.Test/Infrastructure/SlnFileRendererTests.cs index 64fd3f9..422e489 100644 --- a/src/SlimJim.Test/Infrastructure/SlnFileRendererTests.cs +++ b/src/SlimJim.Test/Infrastructure/SlnFileRendererTests.cs @@ -61,17 +61,36 @@ public void VisualStudio2008Solution() TestRender(); } - private void MakeSolution(string name, params CsProj[] csProjs) + [Test] + public void VisualStudio2015Solution() + { + MakeSolution("VS2015"); + solution.Version = VisualStudioVersion.VS2015; + + TestRender(); + } + + [Test] + public void VisualStudio2017Solution() + { + MakeSolution("VS2017"); + solution.Version = VisualStudioVersion.VS2017; + + TestRender(); + } + + private void MakeSolution(string name, params CsProj[] csProjs) { solution = new Sln(name, "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"); + solution.Version = VisualStudioVersion.VS2010; solution.AddProjects(csProjs); } private void TestRender() { - renderer = new SlnFileRenderer(solution); + renderer = new SlnFileRenderer(solution); - string actualContents = renderer.Render().Replace("\r\n", "\n").Replace("\n\n", "\n"); + string actualContents = renderer.Render().Replace("\r\n", "\n").Replace("\n\n", "\n"); string expectedContents = SampleFileHelper.GetSlnFileContents(solution.Name).Replace("\r\n", "\n").Replace("\n\n", "\n"); Assert.That(actualContents, Is.EqualTo(expectedContents)); diff --git a/src/SlimJim.Test/Model/SlnTests.cs b/src/SlimJim.Test/Model/SlnTests.cs index fa96235..19bb330 100644 --- a/src/SlimJim.Test/Model/SlnTests.cs +++ b/src/SlimJim.Test/Model/SlnTests.cs @@ -9,16 +9,16 @@ namespace SlimJim.Test.Model public class SlnTests { [Test] - public void VersionDefaultsTo2010() + public void VersionDefaultsTo2017() { - Assert.That(new Sln("sln").Version, Is.EqualTo(VisualStudioVersion.VS2010)); + Assert.That(new Sln("sln").Version, Is.EqualTo(VisualStudioVersion.VS2017)); } [Test] public void GuidFormatIncludesCurlyBraces() { - Assert.That(new Sln("sample").Guid, Is.StringStarting("{")); - Assert.That(new Sln("sample").Guid, Is.StringEnding("}")); + Assert.That(new Sln("sample").Guid, Does.StartWith("{")); + Assert.That(new Sln("sample").Guid, Does.EndWith("}")); } [Test] diff --git a/src/SlimJim.Test/SampleFiles/Sln/VS2015.sln b/src/SlimJim.Test/SampleFiles/Sln/VS2015.sln new file mode 100644 index 0000000..a0a6ae3 --- /dev/null +++ b/src/SlimJim.Test/SampleFiles/Sln/VS2015.sln @@ -0,0 +1,9 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 + + +Global + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/SlimJim.Test/SampleFiles/Sln/VS2017.sln b/src/SlimJim.Test/SampleFiles/Sln/VS2017.sln new file mode 100644 index 0000000..d10e55d --- /dev/null +++ b/src/SlimJim.Test/SampleFiles/Sln/VS2017.sln @@ -0,0 +1,9 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 + + +Global + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/SlimJim.Test/SlimJim.Test.csproj b/src/SlimJim.Test/SlimJim.Test.csproj index c63624d..8d81263 100644 --- a/src/SlimJim.Test/SlimJim.Test.csproj +++ b/src/SlimJim.Test/SlimJim.Test.csproj @@ -31,14 +31,21 @@ 4 - - ..\packages\NUnit.2.5.9.10348\lib\nunit.framework.dll + + ..\packages\log4net.2.0.8\lib\net40-full\log4net.dll + True - - ..\packages\NUnit.2.5.9.10348\lib\nunit.mocks.dll + + ..\packages\NUnit.3.8.1\lib\net40\nunit.framework.dll + True - - ..\packages\RhinoMocks.3.6\lib\Rhino.Mocks.dll + + ..\packages\NUnit.Mocks.2.6.4\lib\nunit.mocks.dll + True + + + ..\packages\RhinoMocks.3.6.1\lib\net\Rhino.Mocks.dll + True @@ -47,9 +54,6 @@ - - ..\packages\log4net.2.0.3\lib\net40-full\log4net.dll - @@ -103,8 +107,12 @@ + + + + + -