Skip to content

Commit 88d2825

Browse files
committed
Fix RouteDataAssertions messages.
1 parent 9cc95cd commit 88d2825

File tree

3 files changed

+28
-38
lines changed

3 files changed

+28
-38
lines changed

src/FluentAssertions.AspNetCore.Mvc/RouteDataAssertions.cs

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,7 @@ public RouteDataAssertions HaveDataToken(string key, object expectedValue, strin
8787
{
8888
var subjectTyped = Subject as RouteData;
8989

90-
Execute.Assertion
91-
.ForCondition(subjectTyped.DataTokens.ContainsKey(key))
92-
.BecauseOf(reason, reasonArgs)
93-
.FailWith(FailureMessages.RouteData_DataTokens_ContainsKey, key);
94-
95-
var actualValue = subjectTyped.DataTokens[key];
96-
97-
Execute.Assertion
98-
.ForCondition(expectedValue.Equals(actualValue))
99-
.BecauseOf(reason, reasonArgs)
100-
.FailWith(FailureMessages.RouteData_DataTokens_HaveValue, key, expectedValue, actualValue);
90+
AssertionHelpers.AssertStringObjectDictionary(subjectTyped.DataTokens, "RouteData.DataTokens", key, expectedValue, reason, reasonArgs);
10191

10292
return this;
10393
}
@@ -118,17 +108,7 @@ public RouteDataAssertions HaveValue(string key, object expectedValue, string re
118108
{
119109
var subjectTyped = Subject as RouteData;
120110

121-
Execute.Assertion
122-
.ForCondition(subjectTyped.Values.ContainsKey(key))
123-
.BecauseOf(reason, reasonArgs)
124-
.FailWith(FailureMessages.RouteData_Values_ContainsKey, key);
125-
126-
var actualValue = subjectTyped.Values[key];
127-
128-
Execute.Assertion
129-
.ForCondition(expectedValue.Equals(actualValue))
130-
.BecauseOf(reason, reasonArgs)
131-
.FailWith(FailureMessages.RouteData_Values_HaveValue, key, expectedValue, actualValue);
111+
AssertionHelpers.AssertStringObjectDictionary(subjectTyped.Values, "RouteData.Values", key, expectedValue, reason, reasonArgs);
132112

133113
return this;
134114
}

tests/FluentAssertions.AspNetCore.Mvc.Tests/Helpers/FailureMessageHelper.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,15 @@ public static string ExpectedContextToBeXButY(string context, object expected, o
2121
{
2222
return $"Expected {context} to be {expected} because it is 10 but found {actual}.";
2323
}
24+
25+
public static string ExpectedAtKeyValueXButFoundY(string context, string key, string expected, string actual)
26+
{
27+
return $"Expected {context} to contain value \"{expected}\" at key \"{key}\" because it is 10 but found \"{actual}\".";
28+
}
29+
30+
public static string ExpectedKeyButNotFound(string context, string key, string expected)
31+
{
32+
return $"Expected {context} to contain value \"{expected}\" at key \"{key}\" because it is 10, but the key was not found.";
33+
}
2434
}
2535
}

tests/FluentAssertions.AspNetCore.Mvc.Tests/RouteDataAssertions_Tests.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public RouteDataAssertionsTests()
2222
public void HaveValue_GivenKeyDoesntExist_ShouldFail()
2323
{
2424
var expectedKey = "xyz";
25-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_Values_ContainsKey, expectedKey);
25+
var failureMessage = FailureMessageHelper.ExpectedKeyButNotFound("RouteData.Values", expectedKey, "Val");
2626

27-
Action a = () => _routeData.Should().HaveValue(expectedKey, "");
27+
Action a = () => _routeData.Should().HaveValue(expectedKey, "Val", "it is {0}", 10);
2828

2929
a.Should().Throw<Exception>()
3030
.WithMessage(failureMessage);
@@ -40,9 +40,9 @@ public void HaveValue_GivenExpectedKeyValuePair_ShouldPass()
4040
public void HaveValue_GivenUnexpectedKeyValuePair_ShouldFail()
4141
{
4242
var controllerName = "xyz";
43-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_Values_HaveValue, "controller", controllerName, "home");
43+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY("RouteData.Values", "controller", controllerName, "home");
4444

45-
Action a = () => _routeData.Should().HaveValue("controller", controllerName);
45+
Action a = () => _routeData.Should().HaveValue("controller", controllerName, "it is {0}", 10);
4646

4747
a.Should().Throw<Exception>()
4848
.WithMessage(failureMessage);
@@ -58,9 +58,9 @@ public void HaveController_GivenExpectedValue_ShouldPass()
5858
public void HaveController_GivenUnexpectedValue_ShouldFail()
5959
{
6060
var controllerName = "xyz";
61-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_Values_HaveValue, "controller", controllerName, "home");
61+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY("RouteData.Values", "controller", controllerName, "home");
6262

63-
Action a = () => _routeData.Should().HaveController(controllerName);
63+
Action a = () => _routeData.Should().HaveController(controllerName, "it is {0}", 10);
6464

6565
a.Should().Throw<Exception>()
6666
.WithMessage(failureMessage);
@@ -76,9 +76,9 @@ public void HaveAction_GivenExpectedValue_ShouldPass()
7676
public void HaveAction_GivenUnexpectedValue_ShouldFail()
7777
{
7878
var actionName = "xyz";
79-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_Values_HaveValue, "action", actionName, "index");
79+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY("RouteData.Values", "action", actionName, "index");
8080

81-
Action a = () => _routeData.Should().HaveAction(actionName);
81+
Action a = () => _routeData.Should().HaveAction(actionName, "it is {0}", 10);
8282

8383
a.Should().Throw<Exception>()
8484
.WithMessage(failureMessage);
@@ -93,10 +93,10 @@ public void HaveArea_Exits_ShouldPass()
9393
[Fact]
9494
public void HaveArea_DoesntExist_ShouldFail()
9595
{
96-
var area = "xyz";
97-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_Values_HaveValue, "area", area, "admin");
96+
var area = "xyz";
97+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY("RouteData.Values", "area", area, "admin");
9898

99-
Action a = () => _routeData.Should().HaveArea(area);
99+
Action a = () => _routeData.Should().HaveArea(area, "it is {0}", 10);
100100

101101
a.Should().Throw<Exception>()
102102
.WithMessage(failureMessage);
@@ -105,10 +105,10 @@ public void HaveArea_DoesntExist_ShouldFail()
105105
[Fact]
106106
public void HaveDataToken_KeyDoesExist_ShouldFail()
107107
{
108-
var expectedKey = "xyz";
109-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_DataTokens_ContainsKey, expectedKey);
108+
var expectedKey = "xyz";
109+
var failureMessage = FailureMessageHelper.ExpectedKeyButNotFound("RouteData.DataTokens",expectedKey, "Val");
110110

111-
Action a = () => _routeData.Should().HaveDataToken(expectedKey, "");
111+
Action a = () => _routeData.Should().HaveDataToken(expectedKey, "Val", "it is {0}", 10);
112112

113113
a.Should().Throw<Exception>()
114114
.WithMessage(failureMessage);
@@ -124,9 +124,9 @@ public void HaveDataToken_KeyValuePairExists_ShouldPass()
124124
public void HaveDataToken_ValueDoesntExist_ShouldFail()
125125
{
126126
var value = "xyz";
127-
var failureMessage = FailureMessageHelper.Format(FailureMessages.RouteData_DataTokens_HaveValue, "token", value, "value");
127+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY("RouteData.DataTokens", "token", value, "value");
128128

129-
Action a = () => _routeData.Should().HaveDataToken("token", value);
129+
Action a = () => _routeData.Should().HaveDataToken("token", value, "it is {0}", 10);
130130

131131

132132
a.Should().Throw<Exception>()

0 commit comments

Comments
 (0)