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