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 @@
+
+
+
+
+
-