summaryrefslogtreecommitdiff
path: root/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java
diff options
context:
space:
mode:
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.java44
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);