--- jsr166/src/test/tck/DoubleAccumulatorTest.java 2013/03/22 16:10:19 1.2 +++ jsr166/src/test/tck/DoubleAccumulatorTest.java 2017/04/23 03:03:16 1.6 @@ -4,24 +4,35 @@ * http://creativecommons.org/publicdomain/zero/1.0/ */ -import junit.framework.*; -import java.util.concurrent.*; +import java.util.concurrent.Executors; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Phaser; import java.util.concurrent.atomic.DoubleAccumulator; +import junit.framework.Test; +import junit.framework.TestSuite; + public class DoubleAccumulatorTest extends JSR166TestCase { public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); + main(suite(), args); } public static Test suite() { return new TestSuite(DoubleAccumulatorTest.class); } /** - * default constructed initializes to zero + * new instance initialized to supplied identity */ public void testConstructor() { - DoubleAccumulator ai = new DoubleAccumulator(Double::max, 0.0); - assertEquals(0.0, ai.get()); + for (double identity : new double[] { + Double.NEGATIVE_INFINITY, + Double.POSITIVE_INFINITY, + Double.MIN_VALUE, + Double.MAX_VALUE, + 0.0, + }) + assertEquals(identity, + new DoubleAccumulator(Double::max, identity).get()); } /** @@ -38,7 +49,7 @@ public class DoubleAccumulatorTest exten } /** - * reset zeroes get + * reset() causes subsequent get() to return zero */ public void testReset() { DoubleAccumulator ai = new DoubleAccumulator(Double::max, 0.0); @@ -49,7 +60,7 @@ public class DoubleAccumulatorTest exten } /** - * getThenReset returns get then zeros + * getThenReset() returns current value; subsequent get() returns zero */ public void testGetThenReset() { DoubleAccumulator ai = new DoubleAccumulator(Double::max, 0.0);