diff options
Diffstat (limited to 'android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java')
-rw-r--r-- | android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java b/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java index 64ec0fd0d..549c8899f 100644 --- a/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java +++ b/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java @@ -16,22 +16,26 @@ package com.android.i18n.test.timezone; -import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import android.icu.testsharding.MainTestShard; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; import com.android.i18n.timezone.CountryTimeZones; import com.android.i18n.timezone.CountryTimeZones.TimeZoneMapping; import com.android.i18n.timezone.CountryZonesFinder; -import android.icu.testsharding.MainTestShard; +import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.fail; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; @MainTestShard public class CountryZonesFinderTest { @@ -119,6 +123,26 @@ public class CountryZonesFinderTest { assertNull(countryZonesFinder.lookupCountryTimeZones("DOES_NOT_EXIST")); } + @Test + public void findCanonicalTimeZoneId() { + TimeZoneMapping usesNewZoneId = timeZoneMappingWithAlts("America/Detroit", + list("US/Michigan")); + TimeZoneMapping usesOldZoneId = timeZoneMappingWithAlts("US/Central", + list("America/Chicago")); + CountryTimeZones countryWithAlternativeZones = CountryTimeZones.createValidated( + "us", "America/Detroit" /* defaultTimeZoneId */, false /* defaultTimeZoneBoost */, + false /* everUsesUtc */, + list(usesNewZoneId, usesOldZoneId), + "debug info"); + CountryZonesFinder countryZonesFinder = + CountryZonesFinder.createForTests(list(countryWithAlternativeZones)); + + assertEquals(countryZonesFinder.findCanonicalTimeZoneId("America/Chicago"), "US/Central"); + assertEquals(countryZonesFinder.findCanonicalTimeZoneId("US/Michigan"), "America/Detroit"); + assertEquals(countryZonesFinder.findCanonicalTimeZoneId("America/Detroit"), "America/Detroit"); + assertNull(countryZonesFinder.findCanonicalTimeZoneId("Mars/Base")); + } + private static <X> void assertEqualsAndImmutable(List<X> expected, List<X> actual) { assertEquals(expected, actual); assertImmutableList(actual); |