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