< prev index next >
test/java/time/tck/java/time/TCKDuration.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2012, 2015, 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.
--- 1,7 ----
/*
! * 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,2505 ****
//-----------------------------------------------------------------------
// toNanos()
//-----------------------------------------------------------------------
@Test
public void test_toNanos() {
! Duration test = Duration.ofSeconds(321, 123456789);
! assertEquals(test.toNanos(), 321123456789L);
}
@Test
public void test_toNanos_max() {
Duration test = Duration.ofSeconds(0, Long.MAX_VALUE);
--- 2494,2506 ----
//-----------------------------------------------------------------------
// toNanos()
//-----------------------------------------------------------------------
@Test
public void test_toNanos() {
! 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,2526 ****
public void test_toNanos_tooBig() {
Duration test = Duration.ofSeconds(0, Long.MAX_VALUE).plusNanos(1);
test.toNanos();
}
//-----------------------------------------------------------------------
// toMillis()
//-----------------------------------------------------------------------
@Test
public void test_toMillis() {
! Duration test = Duration.ofSeconds(321, 123456789);
! assertEquals(test.toMillis(), 321000 + 123);
}
@Test
public void test_toMillis_max() {
Duration test = Duration.ofSeconds(Long.MAX_VALUE / 1000, (Long.MAX_VALUE % 1000) * 1000000);
--- 2511,2540 ----
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() {
! 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,2540 ****
--- 2545,2566 ----
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 >