@@ -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