diff --git a/.gitignore b/.gitignore
index 0312e06..f846a11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,4 +16,5 @@ TestResult.xml
[Tt]est[Rr]esults/
*.gpState
[Pp]ackages/
-*.nupkg
\ No newline at end of file
+*.nupkg
+/.vs
diff --git a/FluentAssertionsMvc.sln b/FluentAssertionsMvc.sln
index 5f35a35..65c552b 100644
--- a/FluentAssertionsMvc.sln
+++ b/FluentAssertionsMvc.sln
@@ -1,11 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc3", "Mvc3", "{4E91D524-3DC0-4E08-82FE-6FDAEB89212B}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc4", "Mvc4", "{34E084BA-3DFA-4042-9B30-5C14831901B4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{4E91D524-3DC0-4E08-82FE-6FDAEB89212B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuspecs", "nuspecs", "{48A7D304-F178-46B0-901E-E060D87B5E07}"
ProjectSection(SolutionItems) = preProject
@@ -25,21 +23,35 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc3", "sr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc3.Tests", "tests\FluentAssertions.Mvc3.Tests\FluentAssertions.Mvc3.Tests.csproj", "{3CB00FF9-3DC2-460F-82E8-EBFB6339247D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test", "tests\test\test.csproj", "{D29AE253-FEE8-4A54-BFBD-323CAD27F549}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc3.Samples", "samples\FluentAssertions.Mvc3.Samples\FluentAssertions.Mvc3.Samples.csproj", "{95B0CEBD-D9B8-4C41-A918-B13317A9AC16}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc4", "src\FluentAssertions.Mvc4\FluentAssertions.Mvc4.csproj", "{B18BFBDE-02A0-4DB2-AFEA-E756C177E4AD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc4.Tests", "tests\FluentAssertions.Mvc4.Tests\FluentAssertions.Mvc4.Tests.csproj", "{B9F72C07-90A8-4A15-815B-7618530CA889}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc5", "Mvc5", "{466CDF89-8C39-4734-9644-CE16B787EDD1}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc5", "src\FluentAssertions.Mvc5\FluentAssertions.Mvc5.csproj", "{E5BFF617-46A3-48F7-83AA-BD34376F1AB2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentAssertions.Mvc5.Tests", "tests\FluentAssertions.Mvc5.Tests\FluentAssertions.Mvc5.Tests.csproj", "{650A92FF-8874-41CD-BCDA-BE583F3F2638}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{89B09C65-4F1E-4B5A-AD58-E244113F2C02}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "FluentAssertions.Mvc.Shared", "src\FluentAssertions.Mvc.Shared\FluentAssertions.Mvc.Shared.shproj", "{0E46FC22-EB6A-431E-BFB3-47FBC4FC500F}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "FluentAssertions.Mvc.Tests.Shared", "tests\FluentAssertions.Mvc.Tests.Shared\FluentAssertions.Mvc.Tests.Shared.shproj", "{AEEA0A6D-F5B6-42DB-9AF0-82164ECCA21B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{A4C33565-1E6E-4AE7-8F02-1911DBA00263}"
+EndProject
Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ src\FluentAssertions.Mvc.Shared\FluentAssertions.Mvc.Shared.projitems*{0e46fc22-eb6a-431e-bfb3-47fbc4fc500f}*SharedItemsImports = 13
+ tests\FluentAssertions.Mvc.Tests.Shared\FluentAssertions.Mvc.Tests.Shared.projitems*{aeea0a6d-f5b6-42db-9af0-82164ecca21b}*SharedItemsImports = 13
+ tests\FluentAssertions.Mvc.Tests.Shared\FluentAssertions.Mvc.Tests.Shared.projitems*{3cb00ff9-3dc2-460f-82e8-ebfb6339247d}*SharedItemsImports = 4
+ src\FluentAssertions.Mvc.Shared\FluentAssertions.Mvc.Shared.projitems*{e5bff617-46a3-48f7-83aa-bd34376f1ab2}*SharedItemsImports = 4
+ tests\FluentAssertions.Mvc.Tests.Shared\FluentAssertions.Mvc.Tests.Shared.projitems*{650a92ff-8874-41cd-bcda-be583f3f2638}*SharedItemsImports = 4
+ src\FluentAssertions.Mvc.Shared\FluentAssertions.Mvc.Shared.projitems*{b18bfbde-02a0-4db2-afea-e756c177e4ad}*SharedItemsImports = 4
+ tests\FluentAssertions.Mvc.Tests.Shared\FluentAssertions.Mvc.Tests.Shared.projitems*{b9f72c07-90a8-4a15-815b-7618530ca889}*SharedItemsImports = 4
+ src\FluentAssertions.Mvc.Shared\FluentAssertions.Mvc.Shared.projitems*{53589f79-0908-409a-8366-3e18dc637600}*SharedItemsImports = 4
+ EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
@@ -67,15 +79,6 @@ Global
{3CB00FF9-3DC2-460F-82E8-EBFB6339247D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{3CB00FF9-3DC2-460F-82E8-EBFB6339247D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3CB00FF9-3DC2-460F-82E8-EBFB6339247D}.Release|x86.ActiveCfg = Release|Any CPU
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Debug|Any CPU.ActiveCfg = Debug|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Debug|Mixed Platforms.Build.0 = Debug|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Debug|x86.ActiveCfg = Debug|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Debug|x86.Build.0 = Debug|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Release|Any CPU.ActiveCfg = Release|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Release|Mixed Platforms.ActiveCfg = Release|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Release|x86.ActiveCfg = Release|x86
- {D29AE253-FEE8-4A54-BFBD-323CAD27F549}.Release|x86.Build.0 = Release|x86
{95B0CEBD-D9B8-4C41-A918-B13317A9AC16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95B0CEBD-D9B8-4C41-A918-B13317A9AC16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95B0CEBD-D9B8-4C41-A918-B13317A9AC16}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -131,12 +134,14 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {53589F79-0908-409A-8366-3E18DC637600} = {4E91D524-3DC0-4E08-82FE-6FDAEB89212B}
- {3CB00FF9-3DC2-460F-82E8-EBFB6339247D} = {4E91D524-3DC0-4E08-82FE-6FDAEB89212B}
+ {53589F79-0908-409A-8366-3E18DC637600} = {89B09C65-4F1E-4B5A-AD58-E244113F2C02}
+ {3CB00FF9-3DC2-460F-82E8-EBFB6339247D} = {A4C33565-1E6E-4AE7-8F02-1911DBA00263}
{95B0CEBD-D9B8-4C41-A918-B13317A9AC16} = {4E91D524-3DC0-4E08-82FE-6FDAEB89212B}
- {B18BFBDE-02A0-4DB2-AFEA-E756C177E4AD} = {34E084BA-3DFA-4042-9B30-5C14831901B4}
- {B9F72C07-90A8-4A15-815B-7618530CA889} = {34E084BA-3DFA-4042-9B30-5C14831901B4}
- {E5BFF617-46A3-48F7-83AA-BD34376F1AB2} = {466CDF89-8C39-4734-9644-CE16B787EDD1}
- {650A92FF-8874-41CD-BCDA-BE583F3F2638} = {466CDF89-8C39-4734-9644-CE16B787EDD1}
+ {B18BFBDE-02A0-4DB2-AFEA-E756C177E4AD} = {89B09C65-4F1E-4B5A-AD58-E244113F2C02}
+ {B9F72C07-90A8-4A15-815B-7618530CA889} = {A4C33565-1E6E-4AE7-8F02-1911DBA00263}
+ {E5BFF617-46A3-48F7-83AA-BD34376F1AB2} = {89B09C65-4F1E-4B5A-AD58-E244113F2C02}
+ {650A92FF-8874-41CD-BCDA-BE583F3F2638} = {A4C33565-1E6E-4AE7-8F02-1911DBA00263}
+ {0E46FC22-EB6A-431E-BFB3-47FBC4FC500F} = {89B09C65-4F1E-4B5A-AD58-E244113F2C02}
+ {AEEA0A6D-F5B6-42DB-9AF0-82164ECCA21B} = {A4C33565-1E6E-4AE7-8F02-1911DBA00263}
EndGlobalSection
EndGlobal
diff --git a/samples/FluentAssertions.Mvc3.Samples/FluentAssertions.Mvc3.Samples.csproj b/samples/FluentAssertions.Mvc3.Samples/FluentAssertions.Mvc3.Samples.csproj
index 17ed39f..323d554 100644
--- a/samples/FluentAssertions.Mvc3.Samples/FluentAssertions.Mvc3.Samples.csproj
+++ b/samples/FluentAssertions.Mvc3.Samples/FluentAssertions.Mvc3.Samples.csproj
@@ -29,6 +29,7 @@
true
+
true
@@ -65,9 +66,9 @@
..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
True
-
- False
- ..\..\packages\NUnit.2.6.3\lib\nunit.framework.dll
+
+ ..\..\packages\NUnit.3.2.1\lib\net40\nunit.framework.dll
+ True
diff --git a/samples/FluentAssertions.Mvc3.Samples/packages.config b/samples/FluentAssertions.Mvc3.Samples/packages.config
index 373f319..85d8ce4 100644
--- a/samples/FluentAssertions.Mvc3.Samples/packages.config
+++ b/samples/FluentAssertions.Mvc3.Samples/packages.config
@@ -11,5 +11,5 @@
-
+
\ No newline at end of file
diff --git a/src/FluentAssertions.Mvc3/ActionResultAssertions.cs b/src/FluentAssertions.Mvc.Shared/ActionResultAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/ActionResultAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/ActionResultAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/AssertionsExtensions.cs b/src/FluentAssertions.Mvc.Shared/AssertionsExtensions.cs
similarity index 96%
rename from src/FluentAssertions.Mvc3/AssertionsExtensions.cs
rename to src/FluentAssertions.Mvc.Shared/AssertionsExtensions.cs
index 24bdc72..c7b4afb 100644
--- a/src/FluentAssertions.Mvc3/AssertionsExtensions.cs
+++ b/src/FluentAssertions.Mvc.Shared/AssertionsExtensions.cs
@@ -1,34 +1,34 @@
-using FluentAssertions;
-using System;
-using System.Web.Mvc;
-using FluentAssertions.Mvc;
-using System.Web.Routing;
-using System.Diagnostics;
-
-namespace FluentAssertions.Mvc
-{
- ///
- /// Contains extension methods for custom assertions in unit tests.
- ///
- [DebuggerNonUserCode]
- public static class AssertionsExtensions
- {
- ///
- /// Returns an object that can be used to assert the
- /// current .
- ///
- public static ActionResultAssertions Should (this ActionResult actual)
- {
- return new ActionResultAssertions (actual);
- }
-
- ///
- /// Returns an object that can be used to assert the
- /// current .
- ///
- public static RouteDataAssertions Should(this RouteData routeData)
- {
- return new RouteDataAssertions(routeData);
- }
- }
-}
+using FluentAssertions;
+using System;
+using System.Web.Mvc;
+using FluentAssertions.Mvc;
+using System.Web.Routing;
+using System.Diagnostics;
+
+namespace FluentAssertions.Mvc
+{
+ ///
+ /// Contains extension methods for custom assertions in unit tests.
+ ///
+ [DebuggerNonUserCode]
+ public static class AssertionsExtensions
+ {
+ ///
+ /// Returns an object that can be used to assert the
+ /// current .
+ ///
+ public static ActionResultAssertions Should (this ActionResult actual)
+ {
+ return new ActionResultAssertions (actual);
+ }
+
+ ///
+ /// Returns an object that can be used to assert the
+ /// current .
+ ///
+ public static RouteDataAssertions Should(this RouteData routeData)
+ {
+ return new RouteDataAssertions(routeData);
+ }
+ }
+}
diff --git a/src/FluentAssertions.Mvc3/ContentResultAssertions.cs b/src/FluentAssertions.Mvc.Shared/ContentResultAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/ContentResultAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/ContentResultAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/ControllerAssertions.cs b/src/FluentAssertions.Mvc.Shared/ControllerAssertions.cs
similarity index 92%
rename from src/FluentAssertions.Mvc3/ControllerAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/ControllerAssertions.cs
index 0e71210..5205738 100644
--- a/src/FluentAssertions.Mvc3/ControllerAssertions.cs
+++ b/src/FluentAssertions.Mvc.Shared/ControllerAssertions.cs
@@ -1,14 +1,14 @@
-using System;
-using System.Diagnostics;
-
-namespace FluentAssertions.Mvc
-{
- [DebuggerNonUserCode]
- public class ControllerAssertions
- {
- public ControllerAssertions ()
- {
- }
- }
-}
-
+using System;
+using System.Diagnostics;
+
+namespace FluentAssertions.Mvc
+{
+ [DebuggerNonUserCode]
+ public class ControllerAssertions
+ {
+ public ControllerAssertions ()
+ {
+ }
+ }
+}
+
diff --git a/src/FluentAssertions.Mvc3/FailureMessages.Designer.cs b/src/FluentAssertions.Mvc.Shared/FailureMessages.Designer.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/FailureMessages.Designer.cs
rename to src/FluentAssertions.Mvc.Shared/FailureMessages.Designer.cs
diff --git a/src/FluentAssertions.Mvc3/FailureMessages.resx b/src/FluentAssertions.Mvc.Shared/FailureMessages.resx
similarity index 100%
rename from src/FluentAssertions.Mvc3/FailureMessages.resx
rename to src/FluentAssertions.Mvc.Shared/FailureMessages.resx
diff --git a/src/FluentAssertions.Mvc3/Fakes/FakeHttpContext.cs b/src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpContext.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/Fakes/FakeHttpContext.cs
rename to src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpContext.cs
diff --git a/src/FluentAssertions.Mvc3/Fakes/FakeHttpRequest.cs b/src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpRequest.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/Fakes/FakeHttpRequest.cs
rename to src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpRequest.cs
diff --git a/src/FluentAssertions.Mvc3/Fakes/FakeHttpResponse.cs b/src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpResponse.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/Fakes/FakeHttpResponse.cs
rename to src/FluentAssertions.Mvc.Shared/Fakes/FakeHttpResponse.cs
diff --git a/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.projitems b/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.projitems
new file mode 100644
index 0000000..6fcd139
--- /dev/null
+++ b/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.projitems
@@ -0,0 +1,34 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ true
+ 0e46fc22-eb6a-431e-bfb3-47fbc4fc500f
+
+
+ FluentAssertions.Mvc.Shared
+
+
+
+ ResXFileCodeGenerator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.shproj b/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.shproj
new file mode 100644
index 0000000..f50df65
--- /dev/null
+++ b/src/FluentAssertions.Mvc.Shared/FluentAssertions.Mvc.Shared.shproj
@@ -0,0 +1,13 @@
+
+
+
+ 0e46fc22-eb6a-431e-bfb3-47fbc4fc500f
+ 14.0
+
+
+
+
+
+
+
+
diff --git a/src/FluentAssertions.Mvc3/PartialViewResultAssertions.cs b/src/FluentAssertions.Mvc.Shared/PartialViewResultAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/PartialViewResultAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/PartialViewResultAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/RedirectResultAssertions.cs b/src/FluentAssertions.Mvc.Shared/RedirectResultAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/RedirectResultAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/RedirectResultAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/RedirectToRouteAssertions.cs b/src/FluentAssertions.Mvc.Shared/RedirectToRouteAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/RedirectToRouteAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/RedirectToRouteAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/RouteCollection_Extensions.cs b/src/FluentAssertions.Mvc.Shared/RouteCollection_Extensions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/RouteCollection_Extensions.cs
rename to src/FluentAssertions.Mvc.Shared/RouteCollection_Extensions.cs
diff --git a/src/FluentAssertions.Mvc3/RouteDataAssertions.cs b/src/FluentAssertions.Mvc.Shared/RouteDataAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/RouteDataAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/RouteDataAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/RouteValueDictionary_Extensions.cs b/src/FluentAssertions.Mvc.Shared/RouteValueDictionary_Extensions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/RouteValueDictionary_Extensions.cs
rename to src/FluentAssertions.Mvc.Shared/RouteValueDictionary_Extensions.cs
diff --git a/src/FluentAssertions.Mvc3/ViewResultAssertions.cs b/src/FluentAssertions.Mvc.Shared/ViewResultAssertions.cs
similarity index 97%
rename from src/FluentAssertions.Mvc3/ViewResultAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/ViewResultAssertions.cs
index 99df30f..da2ec98 100644
--- a/src/FluentAssertions.Mvc3/ViewResultAssertions.cs
+++ b/src/FluentAssertions.Mvc.Shared/ViewResultAssertions.cs
@@ -1,41 +1,41 @@
-using FluentAssertions.Execution;
-using System;
-using System.Web.Mvc;
-using System.Diagnostics;
-
-namespace FluentAssertions.Mvc
-{
- ///
- /// Contains a number of methods to assert that a is in the expected state.
- ///
- [DebuggerNonUserCode]
- public class ViewResultAssertions : ViewResultBaseAssertions
- {
- ///
- /// Initializes a new instance of the class.
- ///
- public ViewResultAssertions (ViewResult subject) : base(subject) { }
-
- ///
- /// Asserts that the master name is the expected master name.
- ///
- /// The expected master name.
- ///
- /// A formatted phrase as is supported by explaining why the assertion
- /// is needed. If the phrase does not start with the word because, it is prepended automatically.
- ///
- ///
- /// Zero or more objects to format using the placeholders in .
- ///
- public ViewResultAssertions WithMasterName(string expectedMasterName, string reason = "", params object[] reasonArgs)
- {
- string actualMasterName = (Subject as ViewResult).MasterName;
-
- Execute.Assertion
- .ForCondition(string.Equals(expectedMasterName, actualMasterName, StringComparison.InvariantCultureIgnoreCase))
- .BecauseOf(reason, reasonArgs)
- .FailWith(FailureMessages.ViewResult_MasterName, expectedMasterName, actualMasterName);
- return this;
- }
- }
-}
+using FluentAssertions.Execution;
+using System;
+using System.Web.Mvc;
+using System.Diagnostics;
+
+namespace FluentAssertions.Mvc
+{
+ ///
+ /// Contains a number of methods to assert that a is in the expected state.
+ ///
+ [DebuggerNonUserCode]
+ public class ViewResultAssertions : ViewResultBaseAssertions
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public ViewResultAssertions (ViewResult subject) : base(subject) { }
+
+ ///
+ /// Asserts that the master name is the expected master name.
+ ///
+ /// The expected master name.
+ ///
+ /// A formatted phrase as is supported by explaining why the assertion
+ /// is needed. If the phrase does not start with the word because, it is prepended automatically.
+ ///
+ ///
+ /// Zero or more objects to format using the placeholders in .
+ ///
+ public ViewResultAssertions WithMasterName(string expectedMasterName, string reason = "", params object[] reasonArgs)
+ {
+ string actualMasterName = (Subject as ViewResult).MasterName;
+
+ Execute.Assertion
+ .ForCondition(string.Equals(expectedMasterName, actualMasterName, StringComparison.InvariantCultureIgnoreCase))
+ .BecauseOf(reason, reasonArgs)
+ .FailWith(FailureMessages.ViewResult_MasterName, expectedMasterName, actualMasterName);
+ return this;
+ }
+ }
+}
diff --git a/src/FluentAssertions.Mvc3/ViewResultBaseAssertions.cs b/src/FluentAssertions.Mvc.Shared/ViewResultBaseAssertions.cs
similarity index 100%
rename from src/FluentAssertions.Mvc3/ViewResultBaseAssertions.cs
rename to src/FluentAssertions.Mvc.Shared/ViewResultBaseAssertions.cs
diff --git a/src/FluentAssertions.Mvc3/FluentAssertions.Mvc3.csproj b/src/FluentAssertions.Mvc3/FluentAssertions.Mvc3.csproj
index 2b96cdc..32ff635 100644
--- a/src/FluentAssertions.Mvc3/FluentAssertions.Mvc3.csproj
+++ b/src/FluentAssertions.Mvc3/FluentAssertions.Mvc3.csproj
@@ -93,40 +93,14 @@
Properties\SolutionInfo.cs
-
-
- True
- True
- FailureMessages.resx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ResXFileCodeGenerator
- FailureMessages.Designer.cs
- Designer
-
Designer
+
\ No newline at end of file
diff --git a/src/FluentAssertions.Mvc4/FluentAssertions.Mvc4.csproj b/src/FluentAssertions.Mvc4/FluentAssertions.Mvc4.csproj
index a3d155f..0756069 100644
--- a/src/FluentAssertions.Mvc4/FluentAssertions.Mvc4.csproj
+++ b/src/FluentAssertions.Mvc4/FluentAssertions.Mvc4.csproj
@@ -81,69 +81,17 @@
-
- ActionResultAssertions.cs
-
-
- AssertionsExtensions.cs
-
-
- ContentResultAssertions.cs
-
-
- ControllerAssertions.cs
-
-
- FailureMessages.Designer.cs
-
-
- Fakes\FakeHttpContext.cs
-
-
- Fakes\FakeHttpRequest.cs
-
-
- Fakes\FakeHttpResponse.cs
-
-
- PartialViewResultAssertions.cs
-
-
- RedirectResultAssertions.cs
-
-
- RedirectToRouteAssertions.cs
-
-
- RouteCollection_Extensions.cs
-
-
- RouteDataAssertions.cs
-
-
- RouteValueDictionary_Extensions.cs
-
-
- ViewResultAssertions.cs
-
-
- ViewResultBaseAssertions.cs
-
Properties\SolutionInfo.cs
-
-
- FailureMessages.resx
-
-
Designer
+