2 ******************************************************************************
\r
3 * Copyright (C) 2007-2010, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 ******************************************************************************
\r
8 // Copyright 2006 Google Inc. All Rights Reserved.
\r
10 package com.ibm.icu.dev.test.duration;
\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
16 public class PeriodTest extends TestFmwk {
\r
21 public static void main(String[] args) {
\r
22 new PeriodTest().run(args);
\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
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
40 assertFalse(null, p.isMoreThan());
\r
41 assertFalse(null, p.isLessThan());
\r
43 assertFalse(null, p.isMoreThan());
\r
44 assertTrue(null, p.isLessThan());
\r
46 assertTrue(null, p.isMoreThan());
\r
47 assertFalse(null, p.isLessThan());
\r
49 p = Period.lessThan(1, TimeUnit.YEAR);
\r
50 assertFalse(null, p.isMoreThan());
\r
51 assertTrue(null, p.isLessThan());
\r
53 p = Period.at(1, TimeUnit.YEAR);
\r
54 assertFalse(null, p.isMoreThan());
\r
55 assertFalse(null, p.isLessThan());
\r
57 assertEquals(null, 1f, p.getCount(TimeUnit.YEAR), .1f);
\r
60 public void testFuturePast() {
\r
61 Period p = Period.at(1, TimeUnit.YEAR).inFuture();
\r
62 assertTrue(null, p.isInFuture());
\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
71 public void testAnd() {
\r
72 Period p = Period.at(1, TimeUnit.YEAR).and(3, TimeUnit.MONTH)
\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
81 public void testInvalidCount() {
\r
83 Period.at(-1, TimeUnit.YEAR);
\r
85 } catch (IllegalArgumentException e) {
\r
89 Period.moreThan(-1, TimeUnit.YEAR);
\r
90 fail("moreThan -1");
\r
91 } catch (IllegalArgumentException e) {
\r
95 Period.lessThan(-1, TimeUnit.YEAR);
\r
96 fail("lessThan -1");
\r
97 } catch (IllegalArgumentException e) {
\r
100 Period p = Period.at(1, TimeUnit.YEAR);
\r
102 p = p.and(-1, TimeUnit.MONTH);
\r
104 } catch (IllegalArgumentException e) {
\r