@@ -83,8 +83,8 @@ static class JsonPointerTestBean {
8383 */
8484 private DeferredBindingException expectDeferredBinding (ObjectReader reader , String json ) {
8585 return catchThrowableOfType (
86- () -> reader . readValueCollecting ( json ) ,
87- DeferredBindingException . class
86+ DeferredBindingException . class ,
87+ () -> reader . readValueCollecting ( json )
8888 );
8989 }
9090
@@ -93,8 +93,8 @@ private DeferredBindingException expectDeferredBinding(ObjectReader reader, Stri
9393 */
9494 private DeferredBindingException expectDeferredBinding (ObjectReader reader , byte [] json ) {
9595 return catchThrowableOfType (
96- () -> reader . readValueCollecting ( json ) ,
97- DeferredBindingException . class
96+ DeferredBindingException . class ,
97+ () -> reader . readValueCollecting ( json )
9898 );
9999 }
100100
@@ -103,8 +103,8 @@ private DeferredBindingException expectDeferredBinding(ObjectReader reader, byte
103103 */
104104 private DeferredBindingException expectDeferredBinding (ObjectReader reader , File json ) {
105105 return catchThrowableOfType (
106- () -> reader . readValueCollecting ( json ) ,
107- DeferredBindingException . class
106+ DeferredBindingException . class ,
107+ () -> reader . readValueCollecting ( json )
108108 );
109109 }
110110
@@ -113,8 +113,8 @@ private DeferredBindingException expectDeferredBinding(ObjectReader reader, File
113113 */
114114 private DeferredBindingException expectDeferredBinding (ObjectReader reader , InputStream json ) {
115115 return catchThrowableOfType (
116- () -> reader . readValueCollecting ( json ) ,
117- DeferredBindingException . class
116+ DeferredBindingException . class ,
117+ () -> reader . readValueCollecting ( json )
118118 );
119119 }
120120
@@ -123,8 +123,8 @@ private DeferredBindingException expectDeferredBinding(ObjectReader reader, Inpu
123123 */
124124 private DeferredBindingException expectDeferredBinding (ObjectReader reader , Reader json ) {
125125 return catchThrowableOfType (
126- () -> reader . readValueCollecting ( json ) ,
127- DeferredBindingException . class
126+ DeferredBindingException . class ,
127+ () -> reader . readValueCollecting ( json )
128128 );
129129 }
130130
@@ -189,7 +189,7 @@ class BucketIsolationTests {
189189
190190 @ Test
191191 @ DisplayName ("should isolate errors between successive calls" )
192- void successiveCalls () throws Exception {
192+ void successiveCalls () {
193193 // setup
194194 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors ();
195195 String json1 = "{\" name\" :\" Alice\" ,\" age\" :\" invalid1\" }" ;
@@ -231,7 +231,7 @@ void concurrentCalls() throws Exception {
231231 String json = String .format ("{\" name\" :\" User%d\" ,\" age\" :\" invalid%d\" }" ,
232232 index , index );
233233 reader .readValueCollecting (json );
234- fail ( "Should have thrown DeferredBindingException" );
234+ unexpectedErrors . add ( new AssertionError ( "Should have thrown DeferredBindingException" ) );
235235 } catch (DeferredBindingException e ) {
236236 exceptions .add (e );
237237 successCount .incrementAndGet ();
@@ -251,10 +251,9 @@ void concurrentCalls() throws Exception {
251251 } finally {
252252 executor .shutdown ();
253253 try {
254- if (!executor .awaitTermination (2 , TimeUnit .SECONDS )) {
255- executor .shutdownNow ();
256- fail ("Executor failed to terminate within timeout" );
257- }
254+ assertThat (executor .awaitTermination (2 , TimeUnit .SECONDS ))
255+ .as ("Executor should terminate within timeout" )
256+ .isTrue ();
258257 } catch (InterruptedException e ) {
259258 executor .shutdownNow ();
260259 Thread .currentThread ().interrupt ();
@@ -302,7 +301,7 @@ class JsonPointerEscapingTests {
302301
303302 @ Test
304303 @ DisplayName ("should escape tilde in property names" )
305- void escapeTilde () throws Exception {
304+ void escapeTilde () {
306305 // setup
307306 String json = "{\" field~name\" :\" invalid\" }" ;
308307 ObjectReader reader = MAPPER .readerFor (JsonPointerTestBean .class )
@@ -321,7 +320,7 @@ void escapeTilde() throws Exception {
321320
322321 @ Test
323322 @ DisplayName ("should escape slash in property names" )
324- void escapeSlash () throws Exception {
323+ void escapeSlash () {
325324 // setup
326325 String json = "{\" field/name\" :\" invalid\" }" ;
327326 ObjectReader reader = MAPPER .readerFor (JsonPointerTestBean .class )
@@ -340,7 +339,7 @@ void escapeSlash() throws Exception {
340339
341340 @ Test
342341 @ DisplayName ("should escape both tilde and slash correctly" )
343- void escapeBoth () throws Exception {
342+ void escapeBoth () {
344343 // setup
345344 String json = "{\" field~/name\" :\" invalid\" }" ;
346345 ObjectReader reader = MAPPER .readerFor (JsonPointerTestBean .class )
@@ -359,7 +358,7 @@ void escapeBoth() throws Exception {
359358
360359 @ Test
361360 @ DisplayName ("should handle array indices in pointer" )
362- void arrayIndices () throws Exception {
361+ void arrayIndices () {
363362 // setup
364363 String json = "{\" orderId\" :123,\" items\" :[" +
365364 "{\" sku\" :\" ABC\" ,\" price\" :\" invalid\" ,\" quantity\" :5}," +
@@ -392,7 +391,7 @@ class LimitReachedTests {
392391
393392 @ Test
394393 @ DisplayName ("should stop collecting when default limit reached" )
395- void defaultLimit () throws Exception {
394+ void defaultLimit () {
396395 // setup - create JSON with 101 errors (default limit is 100)
397396 String json = buildInvalidOrderJson (101 );
398397 ObjectReader reader = MAPPER .readerFor (Order .class ).collectErrors ();
@@ -421,7 +420,7 @@ void defaultLimit() throws Exception {
421420
422421 @ Test
423422 @ DisplayName ("should respect custom limit" )
424- void customLimit () throws Exception {
423+ void customLimit () {
425424 // setup
426425 String json = buildInvalidOrderJson (20 );
427426 ObjectReader reader = MAPPER .readerFor (Order .class ).collectErrors (10 );
@@ -449,7 +448,7 @@ void customLimit() throws Exception {
449448
450449 @ Test
451450 @ DisplayName ("should not set limit reached when under limit" )
452- void underLimit () throws Exception {
451+ void underLimit () {
453452 // setup
454453 String json = "{\" name\" :\" John\" ,\" age\" :\" invalid\" }" ;
455454 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors (100 );
@@ -477,7 +476,7 @@ class UnknownPropertyTests {
477476
478477 @ Test
479478 @ DisplayName ("should collect unknown property errors when FAIL_ON_UNKNOWN_PROPERTIES enabled" )
480- void unknownProperty () throws Exception {
479+ void unknownProperty () {
481480 // setup
482481 String json = "{\" name\" :\" Alice\" ,\" unknownField\" :\" value\" ,\" age\" :30}" ;
483482 ObjectReader reader = MAPPER .readerFor (Person .class )
@@ -496,7 +495,7 @@ void unknownProperty() throws Exception {
496495
497496 @ Test
498497 @ DisplayName ("should skip unknown property children" )
499- void skipUnknownChildren () throws Exception {
498+ void skipUnknownChildren () {
500499 // setup
501500 String json = "{\" name\" :\" Bob\" ,\" unknownObject\" :{\" nested\" :\" value\" },\" age\" :25}" ;
502501 ObjectReader reader = MAPPER .readerFor (Person .class )
@@ -526,7 +525,7 @@ class DefaultValuePolicyTests {
526525
527526 @ Test
528527 @ DisplayName ("should collect error for primitive int coercion" )
529- void primitiveInt () throws Exception {
528+ void primitiveInt () {
530529 // setup
531530 String json = "{\" intValue\" :\" invalid\" }" ;
532531 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -542,7 +541,7 @@ void primitiveInt() throws Exception {
542541
543542 @ Test
544543 @ DisplayName ("should collect error for primitive long coercion" )
545- void primitiveLong () throws Exception {
544+ void primitiveLong () {
546545 // setup
547546 String json = "{\" longValue\" :\" invalid\" }" ;
548547 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -557,7 +556,7 @@ void primitiveLong() throws Exception {
557556
558557 @ Test
559558 @ DisplayName ("should collect error for primitive double coercion" )
560- void primitiveDouble () throws Exception {
559+ void primitiveDouble () {
561560 // setup
562561 String json = "{\" doubleValue\" :\" invalid\" }" ;
563562 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -572,7 +571,7 @@ void primitiveDouble() throws Exception {
572571
573572 @ Test
574573 @ DisplayName ("should collect error for primitive boolean coercion" )
575- void primitiveBoolean () throws Exception {
574+ void primitiveBoolean () {
576575 // setup
577576 String json = "{\" boolValue\" :\" invalid\" }" ;
578577 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -587,7 +586,7 @@ void primitiveBoolean() throws Exception {
587586
588587 @ Test
589588 @ DisplayName ("should collect error for boxed Integer coercion" )
590- void boxedInteger () throws Exception {
589+ void boxedInteger () {
591590 // setup
592591 String json = "{\" boxedInt\" :\" invalid\" }" ;
593592 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -602,7 +601,7 @@ void boxedInteger() throws Exception {
602601
603602 @ Test
604603 @ DisplayName ("should handle multiple type coercion errors" )
605- void multipleTypeErrors () throws Exception {
604+ void multipleTypeErrors () {
606605 // setup
607606 String json = "{\" intValue\" :\" bad1\" ,\" longValue\" :\" bad2\" ,\" doubleValue\" :\" bad3\" }" ;
608607 ObjectReader reader = MAPPER .readerFor (TypedData .class ).collectErrors ();
@@ -631,7 +630,7 @@ class RootLevelTests {
631630
632631 @ Test
633632 @ DisplayName ("should not collect root-level type mismatches" )
634- void rootLevelTypeMismatch () throws Exception {
633+ void rootLevelTypeMismatch () {
635634 // setup - root value is invalid for Person (non-recoverable)
636635 String json = "\" not-an-object\" " ;
637636 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors ();
@@ -649,7 +648,7 @@ void rootLevelTypeMismatch() throws Exception {
649648
650649 @ Test
651650 @ DisplayName ("should format property paths correctly without double slashes" )
652- void propertyPathFormatting () throws Exception {
651+ void propertyPathFormatting () {
653652 // setup
654653 String json = "{\" age\" :\" invalid\" }" ;
655654 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors ();
@@ -677,7 +676,7 @@ class HardFailureTests {
677676
678677 @ Test
679678 @ DisplayName ("should attach collected problems as suppressed on hard failure" )
680- void suppressedProblems () throws Exception {
679+ void suppressedProblems () {
681680 // setup - create JSON with 101 errors to trigger limit and hard failure
682681 // (shares scenario with defaultLimit test but focuses on suppressed exception mechanics)
683682 String json = buildInvalidOrderJson (101 );
@@ -716,7 +715,7 @@ class MessageFormattingTests {
716715
717716 @ Test
718717 @ DisplayName ("should format single error message" )
719- void singleError () throws Exception {
718+ void singleError () {
720719 // setup
721720 String json = "{\" age\" :\" invalid\" }" ;
722721 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors ();
@@ -731,7 +730,7 @@ void singleError() throws Exception {
731730
732731 @ Test
733732 @ DisplayName ("should format multiple errors with first 5 shown" )
734- void multipleErrors () throws Exception {
733+ void multipleErrors () {
735734 // setup
736735 String json = buildInvalidOrderJson (10 );
737736 ObjectReader reader = MAPPER .readerFor (Order .class ).collectErrors ();
@@ -772,7 +771,7 @@ void validateMaxProblems() {
772771
773772 @ Test
774773 @ DisplayName ("should handle empty JSON" )
775- void emptyJson () throws Exception {
774+ void emptyJson () {
776775 // setup
777776 String json = "{}" ;
778777 ObjectReader reader = MAPPER .readerFor (Person .class ).collectErrors ();
@@ -799,7 +798,7 @@ void nullParser() {
799798
800799 @ Test
801800 @ DisplayName ("should collect errors via byte[] overload" )
802- void collectFromByteArray () throws Exception {
801+ void collectFromByteArray () {
803802 // setup
804803 String jsonString = "{\" name\" :\" Alice\" ,\" age\" :\" invalid\" }" ;
805804 byte [] jsonBytes = jsonString .getBytes (StandardCharsets .UTF_8 );
0 commit comments