1717package  org .apache .logging .log4j .core .pattern ;
1818
1919import  static  org .assertj .core .api .Assertions .assertThat ;
20+ import  static  org .assertj .core .api .Assumptions .assumeThat ;
2021
2122import  java .time .Instant ;
23+ import  java .time .ZoneId ;
24+ import  java .time .ZoneOffset ;
2225import  org .apache .logging .log4j .core .time .MutableInstant ;
2326import  org .apache .logging .log4j .core .util .internal .instant .InstantPatternFormatter ;
24- import  org .junit .jupiter .api .Assumptions ;
2527import  org .junit .jupiter .params .ParameterizedTest ;
2628import  org .junit .jupiter .params .provider .EnumSource ;
2729
@@ -30,6 +32,15 @@ class NamedInstantPatternTest {
3032    @ ParameterizedTest 
3133    @ EnumSource (NamedInstantPattern .class )
3234    void  compatibilityOfLegacyPattern (NamedInstantPattern  namedPattern ) {
35+         if  (namedPattern  == NamedInstantPattern .ISO8601_OFFSET_DATE_TIME_HH ) {
36+             ZoneOffset  offset  = ZoneId .systemDefault ().getRules ().getOffset (Instant .now ());
37+             assumeThat (offset .getTotalSeconds () % 3600  == 0 )
38+                     .withFailMessage (
39+                             "Skipping test: ISO8601_OFFSET_DATE_TIME_HH requires a whole-hour offset, but system offset is %s" ,
40+                             offset )
41+                     .isTrue ();
42+         }
43+ 
3344        InstantPatternFormatter  legacyFormatter  = InstantPatternFormatter .newBuilder ()
3445                .setPattern (namedPattern .getLegacyPattern ())
3546                .setLegacyFormattersEnabled (true )
@@ -43,17 +54,6 @@ void compatibilityOfLegacyPattern(NamedInstantPattern namedPattern) {
4354        instant .initFromEpochSecond (javaTimeInstant .getEpochSecond (), javaTimeInstant .getNano ());
4455        String  legacy  = legacyFormatter .format (instant );
4556        String  modern  = formatter .format (instant );
46-         if  (namedPattern  == NamedInstantPattern .ISO8601_OFFSET_DATE_TIME_HH ) {
47-             java .time .ZoneOffset  offset  =
48-                     java .time .ZoneId .systemDefault ().getRules ().getOffset (java .time .Instant .now ());
49-             Assumptions .assumeTrue (
50-                     offset .getTotalSeconds () % 3600  == 0 ,
51-                     () -> String .format (
52-                             "Skipping test: ISO8601_OFFSET_DATE_TIME_HH requires a whole-hour offset, but system offset is %s" ,
53-                             offset ));
54-             assertThat (legacy ).isEqualTo (modern );
55-         } else  {
56-             assertThat (legacy ).isEqualTo (modern );
57-         }
57+         assertThat (legacy ).isEqualTo (modern );
5858    }
5959}
0 commit comments