diff --git a/.gitignore b/.gitignore
index 6d38a7388..f734e51d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@ obj/
src/packages/*
PackageBuild/*
Build/*
+Release/*
src/Humanizer.Tests/ApiApprover/PublicApiApprovalTest.approve_public_api.received.txt
*.tss
src/TestResults/*
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 000000000..e5f3378f8
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1 @@
+@%WINDIR%\Microsoft.Net\Framework\v4.0.30319\msbuild build.proj /m /clp:Verbosity=minimal
diff --git a/build.config b/build.config
new file mode 100644
index 000000000..680228da3
--- /dev/null
+++ b/build.config
@@ -0,0 +1,23 @@
+
+
+
+ tools\xunit
+
+
+ Release
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build.proj b/build.proj
new file mode 100644
index 000000000..50d2dfde8
--- /dev/null
+++ b/build.proj
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Humanizer.Tests/AmbientCulture.cs b/src/Humanizer.Tests/AmbientCulture.cs
index d8515f329..bbd7e0584 100644
--- a/src/Humanizer.Tests/AmbientCulture.cs
+++ b/src/Humanizer.Tests/AmbientCulture.cs
@@ -4,6 +4,8 @@
namespace Humanizer.Tests
{
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly",
+ Justification = "This is a test only class, and doesn't need a 'proper' IDisposable implementation.")]
public class AmbientCulture : IDisposable
{
private readonly CultureInfo _culture;
@@ -20,6 +22,8 @@ public AmbientCulture(string cultureName)
{
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly",
+ Justification="This is a test only class, and doesn't need a 'proper' IDisposable implementation.")]
public void Dispose()
{
Thread.CurrentThread.CurrentUICulture = _culture;
diff --git a/src/Humanizer.Tests/Humanizer.Tests.csproj b/src/Humanizer.Tests/Humanizer.Tests.csproj
index e152f0e11..b42fbc802 100644
--- a/src/Humanizer.Tests/Humanizer.Tests.csproj
+++ b/src/Humanizer.Tests/Humanizer.Tests.csproj
@@ -49,6 +49,16 @@
true
false
+
+ bin\Verify\
+ ..\Humanizer.ruleset
+ true
+ 1591
+ bin\Verify\Humanizer.Tests.XML
+ pdbonly
+ true
+ true
+
..\packages\ApprovalTests.3.0.5\lib\net40\ApprovalTests.dll
diff --git a/src/Humanizer.ruleset b/src/Humanizer.ruleset
new file mode 100644
index 000000000..3af068ece
--- /dev/null
+++ b/src/Humanizer.ruleset
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Humanizer.sln b/src/Humanizer.sln
index 3428859ae..e5d98557f 100644
--- a/src/Humanizer.sln
+++ b/src/Humanizer.sln
@@ -16,22 +16,37 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
..\release_notes.md = ..\release_notes.md
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{97AAE24D-0488-42AE-A585-86D882F23D5F}"
+ ProjectSection(SolutionItems) = preProject
+ ..\build.cmd = ..\build.cmd
+ ..\build.config = ..\build.config
+ ..\build.proj = ..\build.proj
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
+ Verify|Any CPU = Verify|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Verify|Any CPU.ActiveCfg = Verify|Any CPU
+ {F886A8DA-3EFC-4A89-91DD-06FAF13DA172}.Verify|Any CPU.Build.0 = Verify|Any CPU
{511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Debug|Any CPU.Build.0 = Debug|Any CPU
{511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Release|Any CPU.ActiveCfg = Release|Any CPU
{511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Release|Any CPU.Build.0 = Release|Any CPU
+ {511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Verify|Any CPU.ActiveCfg = Verify|Any CPU
+ {511A7984-F455-4A6E-ADB9-9CAAC47EA079}.Verify|Any CPU.Build.0 = Verify|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {97AAE24D-0488-42AE-A585-86D882F23D5F} = {4779A7C9-9ED8-4146-A158-FBE0B1BE09D9}
+ EndGlobalSection
EndGlobal
diff --git a/src/Humanizer/Humanizer.csproj b/src/Humanizer/Humanizer.csproj
index 9cea5a4c0..d4118dc75 100644
--- a/src/Humanizer/Humanizer.csproj
+++ b/src/Humanizer/Humanizer.csproj
@@ -46,6 +46,18 @@
Humanizer.snk
+
+ bin\Verify\
+ false
+ bin\Verify\Humanizer.XML
+ true
+ ..\Humanizer.ruleset
+ true
+
+
+ pdbonly
+ true
+