< prev index next >
test/java/time/tck/java/time/TCKDuration.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -2494,12 +2494,13 @@
//-----------------------------------------------------------------------
// toNanos()
//-----------------------------------------------------------------------
@Test
public void test_toNanos() {
- Duration test = Duration.ofSeconds(321, 123456789);
- assertEquals(test.toNanos(), 321123456789L);
+ assertEquals(Duration.ofSeconds(321, 123456789).toNanos(), 321123456789L);
+ assertEquals(Duration.ofNanos(Long.MAX_VALUE).toNanos(), 9223372036854775807L);
+ assertEquals(Duration.ofNanos(Long.MIN_VALUE).toNanos(), -9223372036854775808L);
}
@Test
public void test_toNanos_max() {
Duration test = Duration.ofSeconds(0, Long.MAX_VALUE);
@@ -2510,17 +2511,30 @@
public void test_toNanos_tooBig() {
Duration test = Duration.ofSeconds(0, Long.MAX_VALUE).plusNanos(1);
test.toNanos();
}
+ @Test
+ public void test_toNanos_min() {
+ Duration test = Duration.ofSeconds(0, Long.MIN_VALUE);
+ assertEquals(test.toNanos(), Long.MIN_VALUE);
+ }
+
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void test_toNanos_tooSmall() {
+ Duration test = Duration.ofSeconds(0, Long.MIN_VALUE).minusNanos(1);
+ test.toNanos();
+ }
+
//-----------------------------------------------------------------------
// toMillis()
//-----------------------------------------------------------------------
@Test
public void test_toMillis() {
- Duration test = Duration.ofSeconds(321, 123456789);
- assertEquals(test.toMillis(), 321000 + 123);
+ assertEquals(Duration.ofSeconds(321, 123456789).toMillis(), 321000 + 123);
+ assertEquals(Duration.ofMillis(Long.MAX_VALUE).toMillis(), 9223372036854775807L);
+ assertEquals(Duration.ofMillis(Long.MIN_VALUE).toMillis(), -9223372036854775808L);
}
@Test
public void test_toMillis_max() {
Duration test = Duration.ofSeconds(Long.MAX_VALUE / 1000, (Long.MAX_VALUE % 1000) * 1000000);
@@ -2531,10 +2545,22 @@
public void test_toMillis_tooBig() {
Duration test = Duration.ofSeconds(Long.MAX_VALUE / 1000, ((Long.MAX_VALUE % 1000) + 1) * 1000000);
test.toMillis();
}
+ @Test
+ public void test_toMillis_min() {
+ Duration test = Duration.ofSeconds(Long.MIN_VALUE / 1000, (Long.MIN_VALUE % 1000) * 1000000);
+ assertEquals(test.toMillis(), Long.MIN_VALUE);
+ }
+
+ @Test(expectedExceptions=ArithmeticException.class)
+ public void test_toMillis_tooSmall() {
+ Duration test = Duration.ofSeconds(Long.MIN_VALUE / 1000, ((Long.MIN_VALUE % 1000) - 1) * 1000000);
+ test.toMillis();
+ }
+
//-----------------------------------------------------------------------
// toSeconds()
//-----------------------------------------------------------------------
@DataProvider(name="toSeconds_provider")
Object[][] provider_toSeconds() {
< prev index next >