]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/main/tests/core/src/com/ibm/icu/dev/test/duration/PeriodTest.java
go
[Dictionary.git] / jars / icu4j-4_4_2-src / main / tests / core / src / com / ibm / icu / dev / test / duration / PeriodTest.java
1 /*\r
2 ******************************************************************************\r
3 * Copyright (C) 2007-2010, International Business Machines Corporation and   *\r
4 * others. All Rights Reserved.                                               *\r
5 ******************************************************************************\r
6 */\r
7 \r
8 // Copyright 2006 Google Inc.  All Rights Reserved.\r
9 \r
10 package com.ibm.icu.dev.test.duration;\r
11 \r
12 import com.ibm.icu.dev.test.TestFmwk;\r
13 import com.ibm.icu.impl.duration.Period;\r
14 import com.ibm.icu.impl.duration.TimeUnit;\r
15 \r
16 public class PeriodTest extends TestFmwk {\r
17 \r
18     /**\r
19      * Invoke the tests.\r
20      */\r
21     public static void main(String[] args) {\r
22         new PeriodTest().run(args);\r
23     }\r
24 \r
25     public void testIsSet() {\r
26         Period p = Period.at(0, TimeUnit.YEAR);\r
27         assertTrue(null, p.isSet());\r
28         assertTrue(null, p.isSet(TimeUnit.YEAR));\r
29         assertFalse(null, p.isSet(TimeUnit.MONTH));\r
30         assertEquals(null, 0f, p.getCount(TimeUnit.YEAR), .1f);\r
31         p = p.omit(TimeUnit.YEAR);\r
32         assertFalse(null, p.isSet(TimeUnit.YEAR));\r
33     }\r
34 \r
35     public void testMoreLessThan() {\r
36         Period p = Period.moreThan(1, TimeUnit.YEAR);\r
37         assertTrue(null, p.isMoreThan());\r
38         assertFalse(null, p.isLessThan());\r
39         p = p.at();\r
40         assertFalse(null, p.isMoreThan());\r
41         assertFalse(null, p.isLessThan());\r
42         p = p.lessThan();\r
43         assertFalse(null, p.isMoreThan());\r
44         assertTrue(null, p.isLessThan());\r
45         p = p.moreThan();\r
46         assertTrue(null, p.isMoreThan());\r
47         assertFalse(null, p.isLessThan());\r
48 \r
49         p = Period.lessThan(1, TimeUnit.YEAR);\r
50         assertFalse(null, p.isMoreThan());\r
51         assertTrue(null, p.isLessThan());\r
52 \r
53         p = Period.at(1, TimeUnit.YEAR);\r
54         assertFalse(null, p.isMoreThan());\r
55         assertFalse(null, p.isLessThan());\r
56 \r
57         assertEquals(null, 1f, p.getCount(TimeUnit.YEAR), .1f);\r
58     }\r
59 \r
60     public void testFuturePast() {\r
61         Period p = Period.at(1, TimeUnit.YEAR).inFuture();\r
62         assertTrue(null, p.isInFuture());\r
63         p = p.inPast();\r
64         assertFalse(null, p.isInFuture());\r
65         p = p.inFuture(true);\r
66         assertTrue(null, p.isInFuture());\r
67         p = p.inFuture(false);\r
68         assertFalse(null, p.isInFuture());\r
69     }\r
70 \r
71     public void testAnd() {\r
72         Period p = Period.at(1, TimeUnit.YEAR).and(3, TimeUnit.MONTH)\r
73                 .inFuture();\r
74         assertTrue(null, p.isSet(TimeUnit.YEAR));\r
75         assertTrue(null, p.isSet(TimeUnit.MONTH));\r
76         assertEquals(null, 3f, p.getCount(TimeUnit.MONTH), .1f);\r
77         p = p.and(2, TimeUnit.MONTH);\r
78         assertEquals(null, 2f, p.getCount(TimeUnit.MONTH), .1f);\r
79     }\r
80 \r
81     public void testInvalidCount() {\r
82         try {\r
83             Period.at(-1, TimeUnit.YEAR);\r
84             fail("at -1");\r
85         } catch (IllegalArgumentException e) {\r
86             // passed\r
87         }\r
88         try {\r
89             Period.moreThan(-1, TimeUnit.YEAR);\r
90             fail("moreThan -1");\r
91         } catch (IllegalArgumentException e) {\r
92             // passed\r
93         }\r
94         try {\r
95             Period.lessThan(-1, TimeUnit.YEAR);\r
96             fail("lessThan -1");\r
97         } catch (IllegalArgumentException e) {\r
98             // passed\r
99         }\r
100         Period p = Period.at(1, TimeUnit.YEAR);\r
101         try {\r
102             p = p.and(-1, TimeUnit.MONTH);\r
103             fail("and -1");\r
104         } catch (IllegalArgumentException e) {\r
105             // passed\r
106         }\r
107     }\r
108 }\r