Skip to content

Commit 5e6029b

Browse files
committed
Result suffix added to ActionResult assertions. Closes #4
1 parent d4270af commit 5e6029b

File tree

8 files changed

+168
-168
lines changed

8 files changed

+168
-168
lines changed

samples/FluentAssertions.Mvc3.Samples/Tests/ProductController_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public void List_ShouldReturnView()
1111
{
1212
var controller = new ProductController();
1313
controller.List().Should()
14-
.BeView()
14+
.BeViewResult()
1515
.WithViewName("Index");
1616
}
1717
}
Lines changed: 112 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,112 @@
1-
using FluentAssertions.Primitives;
2-
using FluentAssertions.Execution;
3-
using System;
4-
using System.Web.Mvc;
5-
using System.Diagnostics;
6-
7-
namespace FluentAssertions.Mvc
8-
{
9-
[DebuggerNonUserCode]
10-
public class ActionResultAssertions : ObjectAssertions
11-
{
12-
public struct Constants
13-
{
14-
public const string CommonFailMessage = "Expected ActionResult to be {0}{reason}, but found {1}";
15-
}
16-
17-
public ActionResultAssertions (ActionResult subject) : base(subject)
18-
{
19-
Subject = subject;
20-
}
21-
22-
public ContentResultAssertions BeContent()
23-
{
24-
return BeContent(string.Empty, null);
25-
}
26-
27-
public ContentResultAssertions BeContent(string reason, params object[] reasonArgs)
28-
{
29-
Execute.Verification
30-
.BecauseOf(reason, reasonArgs)
31-
.ForCondition(Subject is ContentResult)
32-
.FailWith(Constants.CommonFailMessage, typeof(ContentResult).Name, Subject.GetType().Name);
33-
34-
return new ContentResultAssertions(Subject as ContentResult);
35-
}
36-
37-
public EmptyResult BeEmpty()
38-
{
39-
return BeEmpty(string.Empty, null);
40-
}
41-
42-
public EmptyResult BeEmpty(string reason, params object[] reasonArgs)
43-
{
44-
Execute.Verification
45-
.BecauseOf(reason, reasonArgs)
46-
.ForCondition(Subject is EmptyResult)
47-
.FailWith(Constants.CommonFailMessage, typeof(EmptyResult).Name, Subject.GetType().Name);
48-
49-
return Subject as EmptyResult;
50-
}
51-
52-
public RedirectToRouteAssertions BeRedirectToRoute()
53-
{
54-
return BeRedirectToRoute(string.Empty, null);
55-
}
56-
57-
public RedirectToRouteAssertions BeRedirectToRoute(string reason, params object[] reasonArgs)
58-
{
59-
Execute.Verification
60-
.BecauseOf(reason, reasonArgs)
61-
.ForCondition(Subject is RedirectToRouteResult)
62-
.FailWith(Constants.CommonFailMessage, typeof(RedirectToRouteResult).Name, Subject.GetType().Name);
63-
64-
return new RedirectToRouteAssertions(Subject as RedirectToRouteResult);
65-
}
66-
67-
public PartialViewResultAssertions BePartialView()
68-
{
69-
return BePartialView(string.Empty, null);
70-
}
71-
72-
public PartialViewResultAssertions BePartialView(string reason, params object[] reasonArgs)
73-
{
74-
Execute.Verification
75-
.BecauseOf(reason, reasonArgs)
76-
.ForCondition(Subject is PartialViewResult)
77-
.FailWith(Constants.CommonFailMessage, typeof(PartialViewResult).Name, Subject.GetType().Name);
78-
79-
return new PartialViewResultAssertions(Subject as PartialViewResult);
80-
}
81-
82-
public RedirectResultAssertions BeRedirect()
83-
{
84-
return BeRedirect(string.Empty, null);
85-
}
86-
87-
public RedirectResultAssertions BeRedirect(string reason, params object[] reasonArgs)
88-
{
89-
Execute.Verification
90-
.BecauseOf(reason, reasonArgs)
91-
.ForCondition(Subject is RedirectResult)
92-
.FailWith(Constants.CommonFailMessage, "RedirectResult", Subject.GetType().Name);
93-
94-
return new RedirectResultAssertions(Subject as RedirectResult);
95-
}
96-
97-
public ViewResultAssertions BeView()
98-
{
99-
return BeView(string.Empty, null);
100-
}
101-
102-
public ViewResultAssertions BeView(string reason, params object[] reasonArgs)
103-
{
104-
Execute.Verification
105-
.BecauseOf(reason, reasonArgs)
106-
.ForCondition (Subject is ViewResult)
107-
.FailWith(Constants.CommonFailMessage, "ViewResult", Subject.GetType().Name);
108-
109-
return new ViewResultAssertions (Subject as ViewResult);
110-
}
111-
}
112-
}
1+
using FluentAssertions.Primitives;
2+
using FluentAssertions.Execution;
3+
using System;
4+
using System.Web.Mvc;
5+
using System.Diagnostics;
6+
7+
namespace FluentAssertions.Mvc
8+
{
9+
[DebuggerNonUserCode]
10+
public class ActionResultAssertions : ObjectAssertions
11+
{
12+
public struct Constants
13+
{
14+
public const string CommonFailMessage = "Expected ActionResult to be {0}{reason}, but found {1}";
15+
}
16+
17+
public ActionResultAssertions (ActionResult subject) : base(subject)
18+
{
19+
Subject = subject;
20+
}
21+
22+
public ContentResultAssertions BeContentResult()
23+
{
24+
return BeContentResult(string.Empty, null);
25+
}
26+
27+
public ContentResultAssertions BeContentResult(string reason, params object[] reasonArgs)
28+
{
29+
Execute.Verification
30+
.BecauseOf(reason, reasonArgs)
31+
.ForCondition(Subject is ContentResult)
32+
.FailWith(Constants.CommonFailMessage, typeof(ContentResult).Name, Subject.GetType().Name);
33+
34+
return new ContentResultAssertions(Subject as ContentResult);
35+
}
36+
37+
public EmptyResult BeEmptyResult()
38+
{
39+
return BeEmptyResult(string.Empty, null);
40+
}
41+
42+
public EmptyResult BeEmptyResult(string reason, params object[] reasonArgs)
43+
{
44+
Execute.Verification
45+
.BecauseOf(reason, reasonArgs)
46+
.ForCondition(Subject is EmptyResult)
47+
.FailWith(Constants.CommonFailMessage, typeof(EmptyResult).Name, Subject.GetType().Name);
48+
49+
return Subject as EmptyResult;
50+
}
51+
52+
public RedirectToRouteAssertions BeRedirectToRouteResult()
53+
{
54+
return BeRedirectToRouteResult(string.Empty, null);
55+
}
56+
57+
public RedirectToRouteAssertions BeRedirectToRouteResult(string reason, params object[] reasonArgs)
58+
{
59+
Execute.Verification
60+
.BecauseOf(reason, reasonArgs)
61+
.ForCondition(Subject is RedirectToRouteResult)
62+
.FailWith(Constants.CommonFailMessage, typeof(RedirectToRouteResult).Name, Subject.GetType().Name);
63+
64+
return new RedirectToRouteAssertions(Subject as RedirectToRouteResult);
65+
}
66+
67+
public PartialViewResultAssertions BePartialViewResult()
68+
{
69+
return BePartialViewResult(string.Empty, null);
70+
}
71+
72+
public PartialViewResultAssertions BePartialViewResult(string reason, params object[] reasonArgs)
73+
{
74+
Execute.Verification
75+
.BecauseOf(reason, reasonArgs)
76+
.ForCondition(Subject is PartialViewResult)
77+
.FailWith(Constants.CommonFailMessage, typeof(PartialViewResult).Name, Subject.GetType().Name);
78+
79+
return new PartialViewResultAssertions(Subject as PartialViewResult);
80+
}
81+
82+
public RedirectResultAssertions BeRedirectResult()
83+
{
84+
return BeRedirectResult(string.Empty, null);
85+
}
86+
87+
public RedirectResultAssertions BeRedirectResult(string reason, params object[] reasonArgs)
88+
{
89+
Execute.Verification
90+
.BecauseOf(reason, reasonArgs)
91+
.ForCondition(Subject is RedirectResult)
92+
.FailWith(Constants.CommonFailMessage, "RedirectResult", Subject.GetType().Name);
93+
94+
return new RedirectResultAssertions(Subject as RedirectResult);
95+
}
96+
97+
public ViewResultAssertions BeViewResult()
98+
{
99+
return BeViewResult(string.Empty, null);
100+
}
101+
102+
public ViewResultAssertions BeViewResult(string reason, params object[] reasonArgs)
103+
{
104+
Execute.Verification
105+
.BecauseOf(reason, reasonArgs)
106+
.ForCondition (Subject is ViewResult)
107+
.FailWith(Constants.CommonFailMessage, "ViewResult", Subject.GetType().Name);
108+
109+
return new ViewResultAssertions (Subject as ViewResult);
110+
}
111+
}
112+
}

tests/FluentAssertions.Mvc3.Tests/ActionResultAssertions_Tests.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ public void BeContent_GivenContent_ShouldPass()
1515
{
1616
ActionResult result = new ContentResult();
1717
result.Should()
18-
.BeContent();
18+
.BeContentResult();
1919
}
2020

2121
[Test]
2222
public void BeContent_GivenNotContent_ShouldFail()
2323
{
2424
ActionResult result = new ViewResult();
25-
Action a = () => result.Should().BeContent();
25+
Action a = () => result.Should().BeContentResult();
2626
a.ShouldThrow<Exception>()
2727
.WithMessage("Expected ActionResult to be \"ContentResult\", but found \"ViewResult\"");
2828
}
@@ -31,14 +31,14 @@ public void BeContent_GivenNotContent_ShouldFail()
3131
public void BeEmpty_GivenEmpty_ShouldPass()
3232
{
3333
ActionResult result = new EmptyResult();
34-
result.Should().BeEmpty();
34+
result.Should().BeEmptyResult();
3535
}
3636

3737
[Test]
3838
public void BeEmpty_GivenNotEmpty_ShouldPass()
3939
{
4040
ActionResult result = new ViewResult();
41-
Action a = () => result.Should().BeEmpty();
41+
Action a = () => result.Should().BeEmptyResult();
4242
a.ShouldThrow<Exception>()
4343
.WithMessage("Expected ActionResult to be \"EmptyResult\", but found \"ViewResult\"");
4444
}
@@ -47,14 +47,14 @@ public void BeEmpty_GivenNotEmpty_ShouldPass()
4747
public void BeRedirectToRoute_GivenRedirectToRoute_ShouldPass()
4848
{
4949
ActionResult result = new RedirectToRouteResult(new RouteValueDictionary());
50-
result.Should().BeRedirectToRoute();
50+
result.Should().BeRedirectToRouteResult();
5151
}
5252

5353
[Test]
5454
public void BeRedirectToRoute_GivenNotRedirectToRoute_ShouldFail()
5555
{
5656
ActionResult result = new ViewResult();
57-
Action a = () => result.Should().BeRedirectToRoute();
57+
Action a = () => result.Should().BeRedirectToRouteResult();
5858
a.ShouldThrow<Exception>()
5959
.WithMessage("Expected ActionResult to be \"RedirectToRouteResult\", but found \"ViewResult\"");
6060
}
@@ -63,14 +63,14 @@ public void BeRedirectToRoute_GivenNotRedirectToRoute_ShouldFail()
6363
public void BeRedirect_GivenRedirect_ShouldPass()
6464
{
6565
ActionResult result = new RedirectResult("/");
66-
result.Should().BeRedirect();
66+
result.Should().BeRedirectResult();
6767
}
6868

6969
[Test]
7070
public void BeRedirect_GivenNotRedirect_ShouldFail()
7171
{
7272
ActionResult result = new ViewResult();
73-
Action a = () => result.Should().BeRedirect();
73+
Action a = () => result.Should().BeRedirectResult();
7474
a.ShouldThrow<Exception>()
7575
.WithMessage("Expected ActionResult to be \"RedirectResult\", but found \"ViewResult\"");
7676
}
@@ -79,14 +79,14 @@ public void BeRedirect_GivenNotRedirect_ShouldFail()
7979
public void BePartialView_GivenPartial_ShouldPass()
8080
{
8181
ActionResult result = new PartialViewResult();
82-
result.Should().BePartialView();
82+
result.Should().BePartialViewResult();
8383
}
8484

8585
[Test]
8686
public void BePartialView_GivenNotPartial_ShouldFail()
8787
{
8888
ActionResult result = new RedirectResult("/");
89-
Action a = () => result.Should().BePartialView();
89+
Action a = () => result.Should().BePartialViewResult();
9090
a.ShouldThrow<Exception>()
9191
.WithMessage("Expected ActionResult to be \"PartialViewResult\", but found \"RedirectResult\"");
9292
}
@@ -95,14 +95,14 @@ public void BePartialView_GivenNotPartial_ShouldFail()
9595
public void BeView_GivenView_ShouldPass()
9696
{
9797
ActionResult result = new ViewResult();
98-
result.Should().BeView();
98+
result.Should().BeViewResult();
9999
}
100100

101101
[Test]
102102
public void BeView_GivenNotView_ShouldFail()
103103
{
104104
ActionResult result = new RedirectResult("/");
105-
Action a = () => result.Should().BeView();
105+
Action a = () => result.Should().BeViewResult();
106106
a.ShouldThrow<Exception>()
107107
.WithMessage("Expected ActionResult to be \"ViewResult\", but found \"RedirectResult\"");
108108
}

tests/FluentAssertions.Mvc3.Tests/ContentResultAssertions_Tests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ContentResultAssertions_Tests
1414
public void WithContent_GivenExpected_ShouldPass()
1515
{
1616
ActionResult result = new ContentResult {Content = "content"};
17-
result.Should().BeContent().WithContent("content");
17+
result.Should().BeContentResult().WithContent("content");
1818
}
1919

2020
[Test]
@@ -25,7 +25,7 @@ public void WithContent_GivenUnexpected_ShouldFail()
2525
ActionResult result = new ContentResult { Content = actualContent };
2626
var failureMessage = String.Format(FailureMessages.CommonFailMessage, "ContentResult.Content", expectedContent, actualContent);
2727

28-
Action a = () => result.Should().BeContent().WithContent(expectedContent);
28+
Action a = () => result.Should().BeContentResult().WithContent(expectedContent);
2929

3030
a.ShouldThrow<Exception>()
3131
.WithMessage(failureMessage);
@@ -35,7 +35,7 @@ public void WithContent_GivenUnexpected_ShouldFail()
3535
public void WithContentType_GivenExpected_ShouldPass()
3636
{
3737
ActionResult result = new ContentResult { ContentType = "text/html" };
38-
result.Should().BeContent().WithContentType("text/html");
38+
result.Should().BeContentResult().WithContentType("text/html");
3939
}
4040

4141
[Test]
@@ -46,7 +46,7 @@ public void WithContentType_GivenUnexpected_ShouldFail()
4646
ActionResult result = new ContentResult { ContentType = actualContentType };
4747
var failureMessage = String.Format(FailureMessages.CommonFailMessage, "ContentResult.ContentType", expectedContentType, actualContentType);
4848

49-
Action a = () => result.Should().BeContent().WithContentType(expectedContentType);
49+
Action a = () => result.Should().BeContentResult().WithContentType(expectedContentType);
5050

5151
a.ShouldThrow<Exception>()
5252
.WithMessage(failureMessage);
@@ -56,7 +56,7 @@ public void WithContentType_GivenUnexpected_ShouldFail()
5656
public void WithContentEncoding_GivenExpected_ShouldPass()
5757
{
5858
ActionResult result = new ContentResult { ContentEncoding = Encoding.ASCII };
59-
result.Should().BeContent().WithContentEncoding(Encoding.ASCII);
59+
result.Should().BeContentResult().WithContentEncoding(Encoding.ASCII);
6060
}
6161

6262
[Test]
@@ -67,7 +67,7 @@ public void WithContentEncoding_GivenUnexpected_ShouldFail()
6767
ActionResult result = new ContentResult { ContentEncoding = actualEncoding };
6868
var failureMessage = String.Format(FailureMessages.CommonFailMessage, "ContentResult.ContentType", expectedEncoding, actualEncoding);
6969

70-
Action a = () => result.Should().BeContent().WithContentEncoding(expectedEncoding);
70+
Action a = () => result.Should().BeContentResult().WithContentEncoding(expectedEncoding);
7171

7272
a.ShouldThrow<Exception>()
7373
.WithMessage(failureMessage);

tests/FluentAssertions.Mvc3.Tests/PartialViewResultAssertions_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void WithDefaultViewName_GivenExpectedValue_ShouldPass()
1818
ViewName = String.Empty
1919
};
2020

21-
result.Should().BePartialView().WithDefaultViewName();
21+
result.Should().BePartialViewResult().WithDefaultViewName();
2222
}
2323
}
2424
}

0 commit comments

Comments
 (0)