1 16 package org.joda.time; 17 18 import java.util.Locale ; 19 import java.util.TimeZone ; 20 21 import junit.framework.TestCase; 22 import junit.framework.TestSuite; 23 24 29 public class TestDuration_Constructors extends TestCase { 30 33 private static final DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); 34 private static final DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); 35 36 long y2002days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 37 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 38 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 39 366 + 365; 40 long y2003days = 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 41 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 42 365 + 365 + 366 + 365 + 365 + 365 + 366 + 365 + 365 + 365 + 43 366 + 365 + 365; 44 45 private long TEST_TIME_NOW = 47 (y2002days + 31L + 28L + 31L + 30L + 31L + 9L -1L) * DateTimeConstants.MILLIS_PER_DAY; 48 49 private long TEST_TIME1 = 51 (y2002days + 31L + 28L + 31L + 5L -1L) * DateTimeConstants.MILLIS_PER_DAY 52 + 12L * DateTimeConstants.MILLIS_PER_HOUR 53 + 24L * DateTimeConstants.MILLIS_PER_MINUTE; 54 55 private long TEST_TIME2 = 57 (y2003days + 31L + 28L + 31L + 30L + 6L -1L) * DateTimeConstants.MILLIS_PER_DAY 58 + 14L * DateTimeConstants.MILLIS_PER_HOUR 59 + 28L * DateTimeConstants.MILLIS_PER_MINUTE; 60 61 private DateTimeZone originalDateTimeZone = null; 62 private TimeZone originalTimeZone = null; 63 private Locale originalLocale = null; 64 65 public static void main(String [] args) { 66 junit.textui.TestRunner.run(suite()); 67 } 68 69 public static TestSuite suite() { 70 return new TestSuite(TestDuration_Constructors.class); 71 } 72 73 public TestDuration_Constructors(String name) { 74 super(name); 75 } 76 77 protected void setUp() throws Exception { 78 DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW); 79 originalDateTimeZone = DateTimeZone.getDefault(); 80 originalTimeZone = TimeZone.getDefault(); 81 originalLocale = Locale.getDefault(); 82 DateTimeZone.setDefault(LONDON); 83 TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); 84 Locale.setDefault(Locale.UK); 85 } 86 87 protected void tearDown() throws Exception { 88 DateTimeUtils.setCurrentMillisSystem(); 89 DateTimeZone.setDefault(originalDateTimeZone); 90 TimeZone.setDefault(originalTimeZone); 91 Locale.setDefault(originalLocale); 92 originalDateTimeZone = null; 93 originalTimeZone = null; 94 originalLocale = null; 95 } 96 97 101 public void testZERO() throws Throwable { 102 Duration test = Duration.ZERO; 103 assertEquals(0, test.getMillis()); 104 } 105 106 public void testConstructor_long1() throws Throwable { 108 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 109 5 * DateTimeConstants.MILLIS_PER_HOUR + 110 6 * DateTimeConstants.MILLIS_PER_MINUTE + 111 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 112 Duration test = new Duration(length); 113 assertEquals(length, test.getMillis()); 114 } 115 116 public void testConstructor_long_long1() throws Throwable { 118 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 119 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 120 Duration test = new Duration(dt1.getMillis(), dt2.getMillis()); 121 assertEquals(dt2.getMillis() - dt1.getMillis(), test.getMillis()); 122 } 123 124 public void testConstructor_RI_RI1() throws Throwable { 126 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 127 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 128 Duration test = new Duration(dt1, dt2); 129 assertEquals(dt2.getMillis() - dt1.getMillis(), test.getMillis()); 130 } 131 132 public void testConstructor_RI_RI2() throws Throwable { 133 DateTime dt1 = null; DateTime dt2 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 135 Duration test = new Duration(dt1, dt2); 136 assertEquals(dt2.getMillis() - TEST_TIME_NOW, test.getMillis()); 137 } 138 139 public void testConstructor_RI_RI3() throws Throwable { 140 DateTime dt1 = new DateTime(2005, 7, 17, 1, 1, 1, 1); 141 DateTime dt2 = null; Duration test = new Duration(dt1, dt2); 143 assertEquals(TEST_TIME_NOW - dt1.getMillis(), test.getMillis()); 144 } 145 146 public void testConstructor_RI_RI4() throws Throwable { 147 DateTime dt1 = null; DateTime dt2 = null; Duration test = new Duration(dt1, dt2); 150 assertEquals(0L, test.getMillis()); 151 } 152 153 157 public void testConstructor_Object1() throws Throwable { 158 Duration test = new Duration("PT72.345S"); 159 assertEquals(72345, test.getMillis()); 160 } 161 162 public void testConstructor_Object2() throws Throwable { 163 Duration test = new Duration((Object ) null); 164 assertEquals(0L, test.getMillis()); 165 } 166 167 public void testConstructor_Object3() throws Throwable { 168 long length = 4 * DateTimeConstants.MILLIS_PER_DAY + 169 5 * DateTimeConstants.MILLIS_PER_HOUR + 170 6 * DateTimeConstants.MILLIS_PER_MINUTE + 171 7 * DateTimeConstants.MILLIS_PER_SECOND + 8; 172 Long base = new Long (length); 173 Duration test = new Duration(base); 174 assertEquals(length, test.getMillis()); 175 } 176 177 public void testConstructor_Object4() throws Throwable { 178 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 179 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 180 Duration base = new Duration(dt1, dt2); 181 Duration test = new Duration(base); 182 assertEquals(dt2.getMillis() - dt1.getMillis(), test.getMillis()); 183 } 184 185 public void testConstructor_Object5() throws Throwable { 186 DateTime dt1 = new DateTime(2004, 6, 9, 0, 0, 0, 0); 187 DateTime dt2 = new DateTime(2005, 7, 10, 1, 1, 1, 1); 188 Interval base = new Interval(dt1, dt2); 189 Duration test = new Duration(base); 190 assertEquals(dt2.getMillis() - dt1.getMillis(), test.getMillis()); 191 } 192 193 } 194 | Popular Tags |