Looks fine to me. I don't think AtomicLong was ever needed here.
-Chris.
On 10/01/14 10:01, Paul Sandoz wrote:
Hi,
A small tweak is required to a recent Stream-based test i added to stop some
internal lambda-based ser/derialization (SAND) tests barfing since the test is
hostile to ser/derialization, and infact i should have probably written the
test like below in the first place.
Kumar has verified it fixes the SAND test failures.
Paul.
https://bugs.openjdk.java.net/browse/JDK-8031428
diff -r e332a6819993
test/java/util/stream/test/org/openjdk/tests/java/util/stream/CountTest.java
---
a/test/java/util/stream/test/org/openjdk/tests/java/util/stream/CountTest.java
Fri Jan 10 08:22:00 2014 +0100
+++
b/test/java/util/stream/test/org/openjdk/tests/java/util/stream/CountTest.java
Fri Jan 10 10:58:06 2014 +0100
@@ -29,7 +29,6 @@
package org.openjdk.tests.java.util.stream;
-import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.DoubleStream;
import java.util.stream.DoubleStreamTestDataProvider;
import java.util.stream.IntStream;
@@ -47,45 +46,41 @@
@Test(dataProvider = "StreamTestData", dataProviderClass =
StreamTestDataProvider.class)
public void testOps(String name, TestData.OfRef data) {
-AtomicLong expectedCount = new AtomicLong();
-data.stream().forEach(e -> expectedCount.incrementAndGet());
+long expectedCount = data.size();
withData(data).
terminal(Stream::count).
-expectedResult(expectedCount.get()).
+expectedResult(expectedCount).
exercise();
}
@Test(dataProvider = "IntStreamTestData", dataProviderClass =
IntStreamTestDataProvider.class)
public void testOps(String name, TestData.OfInt data) {
-AtomicLong expectedCount = new AtomicLong();
-data.stream().forEach(e -> expectedCount.incrementAndGet());
+long expectedCount = data.size();
withData(data).
terminal(IntStream::count).
-expectedResult(expectedCount.get()).
+expectedResult(expectedCount).
exercise();
}
@Test(dataProvider = "LongStreamTestData", dataProviderClass =
LongStreamTestDataProvider.class)
public void testOps(String name, TestData.OfLong data) {
-AtomicLong expectedCount = new AtomicLong();
-data.stream().forEach(e -> expectedCount.incrementAndGet());
+long expectedCount = data.size();
withData(data).
terminal(LongStream::count).
-expectedResult(expectedCount.get()).
+expectedResult(expectedCount).
exercise();
}
@Test(dataProvider = "DoubleStreamTestData", dataProviderClass =
DoubleStreamTestDataProvider.class)
public void testOps(String name, TestData.OfDouble data) {
-AtomicLong expectedCount = new AtomicLong();
-data.stream().forEach(e -> expectedCount.incrementAndGet());
+long expectedCount = data.size();
withData(data).
terminal(DoubleStream::count).
-expectedResult(expectedCount.get()).
+expectedResult(expectedCount).
exercise();
}
}