Skip to content

Commit 5048a87

Browse files
author
Ronald Kroon
committed
Introduce regions for orderly specs
1 parent c68ced3 commit 5048a87

File tree

1 file changed

+62
-43
lines changed

1 file changed

+62
-43
lines changed

Tests/FluentAssertions.Json.Shared.Specs/JTokenAssertionsSpecs.cs

Lines changed: 62 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ public class JTokenAssertionsSpecs
1212

1313
private static readonly JTokenFormatter _formatter = new JTokenFormatter();
1414

15+
#region (Not)Be
16+
1517
[TestMethod]
1618
public void When_both_values_are_the_same_or_equal_Be_should_succeed()
1719
{
@@ -29,6 +31,44 @@ public void When_both_values_are_the_same_or_equal_Be_should_succeed()
2931
a.Should().Be(b);
3032
}
3133

34+
[TestMethod]
35+
public void When_values_differ_Be_should_fail()
36+
{
37+
//-----------------------------------------------------------------------------------------------------------
38+
// Arrange
39+
//-----------------------------------------------------------------------------------------------------------
40+
var testCases = new Dictionary<string, string>
41+
{
42+
{
43+
"{ id: 1 }",
44+
"{ id: 2 }"
45+
},
46+
{
47+
"{ id: 1, admin: true }",
48+
"{ id: 1, admin: false }"
49+
}
50+
};
51+
52+
foreach (var testCase in testCases)
53+
{
54+
var actualJson = testCase.Key;
55+
var expectedJson = testCase.Value;
56+
57+
var a = JToken.Parse(actualJson);
58+
var b = JToken.Parse(expectedJson);
59+
60+
var expectedMessage =
61+
$"Expected JSON document to be {_formatter.ToString(b)}, but found {_formatter.ToString(a)}.";
62+
63+
//-----------------------------------------------------------------------------------------------------------
64+
// Act & Assert
65+
//-----------------------------------------------------------------------------------------------------------
66+
a.Should().Invoking(x => x.Be(b))
67+
.ShouldThrow<AssertFailedException>()
68+
.WithMessage(expectedMessage);
69+
}
70+
}
71+
3272
[TestMethod]
3373
public void When_values_differ_NotBe_should_succeed()
3474
{
@@ -63,6 +103,9 @@ public void When_values_are_equal_or_equivalent_NotBe_should_fail()
63103
.WithMessage($"Expected JSON document not to be {_formatter.ToString(b)}.");
64104
}
65105

106+
#endregion (Not)Be
107+
108+
#region (Not)BeEquivalentTo
66109

67110
[TestMethod]
68111
public void When_both_values_are_equal_BeEquivalentTo_should_succeed()
@@ -97,46 +140,13 @@ public void When_both_values_are_equal_BeEquivalentTo_should_succeed()
97140
}
98141

99142
[TestMethod]
100-
public void When_values_differ_NotBeEquivalentTo_should_succeed()
101-
{
102-
//-----------------------------------------------------------------------------------------------------------
103-
// Arrange
104-
//-----------------------------------------------------------------------------------------------------------
105-
var testCases = new Dictionary<string, string>
106-
{
107-
{
108-
"{ id: 1, admin: true }",
109-
"{ id: 1, admin: false }"
110-
}
111-
};
112-
113-
foreach (var testCase in testCases)
114-
{
115-
var actualJson = testCase.Key;
116-
var expectedJson = testCase.Value;
117-
118-
var a = JToken.Parse(actualJson);
119-
var b = JToken.Parse(expectedJson);
120-
121-
//-----------------------------------------------------------------------------------------------------------
122-
// Act & Assert
123-
//-----------------------------------------------------------------------------------------------------------
124-
a.Should().NotBeEquivalentTo(b);
125-
}
126-
}
127-
128-
[TestMethod]
129-
public void When_values_differ_Be_should_fail()
143+
public void When_values_differ_BeEquivalentTo_should_fail()
130144
{
131145
//-----------------------------------------------------------------------------------------------------------
132146
// Arrange
133147
//-----------------------------------------------------------------------------------------------------------
134148
var testCases = new Dictionary<string, string>
135149
{
136-
{
137-
"{ id: 1 }",
138-
"{ id: 2 }"
139-
},
140150
{
141151
"{ id: 1, admin: true }",
142152
"{ id: 1, admin: false }"
@@ -151,20 +161,19 @@ public void When_values_differ_Be_should_fail()
151161
var a = JToken.Parse(actualJson);
152162
var b = JToken.Parse(expectedJson);
153163

154-
var expectedMessage =
155-
$"Expected JSON document to be {_formatter.ToString(b)}, but found {_formatter.ToString(a)}.";
164+
var expectedMessage = GetNotEquivalentMessage(a, b);
156165

157166
//-----------------------------------------------------------------------------------------------------------
158167
// Act & Assert
159168
//-----------------------------------------------------------------------------------------------------------
160-
a.Should().Invoking(x => x.Be(b))
169+
a.Should().Invoking(x => x.BeEquivalentTo(b))
161170
.ShouldThrow<AssertFailedException>()
162171
.WithMessage(expectedMessage);
163172
}
164173
}
165174

166175
[TestMethod]
167-
public void When_values_differ_BeEquivalentTo_should_fail()
176+
public void When_values_differ_NotBeEquivalentTo_should_succeed()
168177
{
169178
//-----------------------------------------------------------------------------------------------------------
170179
// Arrange
@@ -185,14 +194,10 @@ public void When_values_differ_BeEquivalentTo_should_fail()
185194
var a = JToken.Parse(actualJson);
186195
var b = JToken.Parse(expectedJson);
187196

188-
var expectedMessage = GetNotEquivalentMessage(a, b);
189-
190197
//-----------------------------------------------------------------------------------------------------------
191198
// Act & Assert
192199
//-----------------------------------------------------------------------------------------------------------
193-
a.Should().Invoking(x => x.BeEquivalentTo(b))
194-
.ShouldThrow<AssertFailedException>()
195-
.WithMessage(expectedMessage);
200+
a.Should().NotBeEquivalentTo(b);
196201
}
197202
}
198203

@@ -234,6 +239,10 @@ private static string GetNotEquivalentMessage(JToken actual, JToken expected,
234239
return expectedMessage;
235240
}
236241

242+
#endregion (Not)BeEquivalentTo
243+
244+
#region (Not)HaveValue
245+
237246
[TestMethod]
238247
public void When_jtoken_has_value_HaveValue_should_succeed()
239248
{
@@ -294,6 +303,10 @@ public void When_jtoken_does_have_value_NotHaveValue_should_fail()
294303
.WithMessage("Did not expect JSON property \"id\" to have value \"42\" because foo.");
295304
}
296305

306+
#endregion (Not)HaveValue
307+
308+
#region (Not)HaveElement
309+
297310
[TestMethod]
298311
public void When_jtoken_has_element_HaveElement_should_succeed()
299312
{
@@ -354,6 +367,10 @@ public void When_jtoken_does_have_element_NotHaveElement_should_fail()
354367
.WithMessage($"Did not expect JSON document {_formatter.ToString(subject)} to have element \"id\" because foo.");
355368
}
356369

370+
#endregion (Not)HaveElement
371+
372+
#region ContainSingleItem
373+
357374
[TestMethod]
358375
public void When_jtoken_has_a_single_element_ContainSingleItem_should_succeed()
359376
{
@@ -533,5 +550,7 @@ public void When_jtoken_is_an_array_with_multiple_items_ContainSingleItem_should
533550
act.ShouldThrow<AssertFailedException>()
534551
.WithMessage($"Expected JSON document {formattedSubject} to contain a single item because more is not allowed, but found {formattedSubject}.");
535552
}
553+
554+
#endregion ContainSingleItem
536555
}
537556
}

0 commit comments

Comments
 (0)