1/* GENERATED SOURCE. DO NOT MODIFY. */ 2/* 3 ******************************************************************************* 4 * Copyright (C) 2009, International Business Machines Corporation and * 5 * others. All Rights Reserved. * 6 ******************************************************************************* 7 */ 8package android.icu.dev.test.duration; 9 10import android.icu.dev.test.TestFmwk; 11import android.icu.impl.duration.BasicPeriodFormatterService; 12import android.icu.impl.duration.DurationFormatter; 13import android.icu.impl.duration.PeriodBuilder; 14import android.icu.impl.duration.PeriodFormatterService; 15import android.icu.text.DurationFormat; 16import android.icu.util.ULocale; 17import org.junit.runner.RunWith; 18import android.icu.junit.IcuTestFmwkRunner; 19 20@RunWith(IcuTestFmwkRunner.class) 21public class RegressionTest extends TestFmwk { 22 23 public static void main(String[] args) { 24 new RegressionTest().run(args); 25 } 26 27 // bug6397 28 public void TestDisallowedMillis() { 29 // original test case 30 // if we don't support milliseconds, format times less than 1 second as 31 // 'less than 1 second' 32 { 33 ULocale ul = new ULocale("th"); 34 DurationFormat df = DurationFormat.getInstance(ul); 35 String result = df.formatDurationFromNow(500); 36 assertEquals( 37 "original test case", 38 "\u0E44\u0E21\u0E48\u0E16\u0E36\u0E07\u0E2D\u0E35\u0E01 1 \u0E27\u0E34\u0E19\u0E32\u0E17\u0E35", 39 result); 40 } 41 42 // same issue, but using English and the internal APIs 43 { 44 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance(); 45 PeriodBuilder pb = pfs.newPeriodBuilderFactory() 46 .setAllowMilliseconds(false) 47 .getSingleUnitBuilder(); 48 DurationFormatter df = pfs.newDurationFormatterFactory() 49 .setPeriodBuilder(pb) 50 .getFormatter(); 51 String result = df.formatDurationFromNow(500); 52 assertEquals( 53 "english test case", 54 "less than 1 second from now", 55 result); 56 57 } 58 59 // if the limit is set on milliseconds, and they are not supported, 60 // use an effective limit based on seconds 61 { 62 PeriodFormatterService pfs = BasicPeriodFormatterService.getInstance(); 63 PeriodBuilder pb = pfs.newPeriodBuilderFactory() 64 .setMinLimit(2500) 65 .setAllowMilliseconds(false) 66 .getSingleUnitBuilder(); 67 DurationFormatter df = pfs.newDurationFormatterFactory() 68 .setPeriodBuilder(pb) 69 .getFormatter(); 70 String result = df.formatDurationFromNow(500); 71 assertEquals( 72 "limit test case", 73 "less than 2 seconds from now", 74 result); 75 } 76 } 77} 78