### Question:
TimeZones { public static short map( String tzid ) { if ( !TIME_ZONE_STRING_TO_SHORT.containsKey( tzid ) ) { throw new IllegalArgumentException( String.format( "unknown tzid '%s'", tzid ) ); } return TIME_ZONE_STRING_TO_SHORT.get( tzid ); } private  TimeZones(); static boolean validZoneOffset( int zoneOffsetSeconds ); static boolean validZoneId( short zoneId ); static short map( String tzid ); static String map( short offset ); static Set<String> supportedTimeZones(); static final String LATEST_SUPPORTED_IANA_VERSION; }### Answer:
@Test void weSupportAllJavaZoneIds() { ZoneId.getAvailableZoneIds().forEach( s -> { short num = TimeZones.map( s ); assertThat( "Our time zone table does not have a mapping for " + s, num, greaterThanOrEqualTo( (short) 0 ) ); String nameFromTable = TimeZones.map( num ); if ( !s.equals( nameFromTable ) ) { assertThat( "Our time zone table has inconsistent mapping for " + nameFromTable, TimeZones.map( TimeZones.map( nameFromTable ) ), equalTo( nameFromTable ) ); } } ); }
@Test void weSupportDeletedZoneIdEastSaskatchewan() { try { short eastSaskatchewan = TimeZones.map( "Canada/East-Saskatchewan" ); assertThat( "Our time zone table does not remap Canada/East-Saskatchewan to Canada/Saskatchewan", TimeZones.map( eastSaskatchewan ), equalTo( "Canada/Saskatchewan" ) ); } catch ( IllegalArgumentException e ) { fail( "Our time zone table does not support Canada/East-Saskatchewan" ); } }