ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadLocalRandom8Test.java
(Generate patch)

Comparing jsr166/src/test/tck/ThreadLocalRandom8Test.java (file contents):
Revision 1.5 by jsr166, Tue Sep 24 16:39:38 2013 UTC vs.
Revision 1.9 by jsr166, Sat Apr 25 04:55:31 2015 UTC

# Line 3 | Line 3
3   * Expert Group and released to the public domain, as explained at
4   * http://creativecommons.org/publicdomain/zero/1.0/
5   */
6 < import junit.framework.*;
7 < import java.util.*;
6 >
7   import java.util.concurrent.ThreadLocalRandom;
8   import java.util.concurrent.atomic.AtomicInteger;
9   import java.util.concurrent.atomic.LongAdder;
10  
11 + import junit.framework.Test;
12 + import junit.framework.TestSuite;
13 +
14   public class ThreadLocalRandom8Test extends JSR166TestCase {
15  
16      public static void main(String[] args) {
17 <        junit.textui.TestRunner.run(suite());
17 >        main(suite(), args);
18      }
19      public static Test suite() {
20          return new TestSuite(ThreadLocalRandom8Test.class);
# Line 34 | Line 36 | public class ThreadLocalRandom8Test exte
36       */
37      public void testBadStreamSize() {
38          ThreadLocalRandom r = ThreadLocalRandom.current();
39 <        try {
40 <            java.util.stream.IntStream x = r.ints(-1L);
41 <            shouldThrow();
42 <        } catch (IllegalArgumentException success) {}
43 <        try {
44 <            java.util.stream.IntStream x = r.ints(-1L, 2, 3);
45 <            shouldThrow();
46 <        } catch (IllegalArgumentException success) {}
47 <        try {
46 <            java.util.stream.LongStream x = r.longs(-1L);
47 <            shouldThrow();
48 <        } catch (IllegalArgumentException success) {}
49 <        try {
50 <            java.util.stream.LongStream x = r.longs(-1L, -1L, 1L);
51 <            shouldThrow();
52 <        } catch (IllegalArgumentException success) {}
53 <        try {
54 <            java.util.stream.DoubleStream x = r.doubles(-1L);
55 <            shouldThrow();
56 <        } catch (IllegalArgumentException success) {}
57 <        try {
58 <            java.util.stream.DoubleStream x = r.doubles(-1L, .5, .6);
59 <            shouldThrow();
60 <        } catch (IllegalArgumentException success) {}
39 >        Runnable[] throwingActions = {
40 >            () -> r.ints(-1L),
41 >            () -> r.ints(-1L, 2, 3),
42 >            () -> r.longs(-1L),
43 >            () -> r.longs(-1L, -1L, 1L),
44 >            () -> r.doubles(-1L),
45 >            () -> r.doubles(-1L, .5, .6),
46 >        };
47 >        assertThrows(IllegalArgumentException.class, throwingActions);
48      }
49  
50      /**
# Line 66 | Line 53 | public class ThreadLocalRandom8Test exte
53       */
54      public void testBadStreamBounds() {
55          ThreadLocalRandom r = ThreadLocalRandom.current();
56 <        try {
57 <            java.util.stream.IntStream x = r.ints(2, 1);
58 <            shouldThrow();
59 <        } catch (IllegalArgumentException success) {}
60 <        try {
61 <            java.util.stream.IntStream x = r.ints(10, 42, 42);
62 <            shouldThrow();
63 <        } catch (IllegalArgumentException success) {}
64 <        try {
78 <            java.util.stream.LongStream x = r.longs(-1L, -1L);
79 <            shouldThrow();
80 <        } catch (IllegalArgumentException success) {}
81 <        try {
82 <            java.util.stream.LongStream x = r.longs(10, 1L, -2L);
83 <            shouldThrow();
84 <        } catch (IllegalArgumentException success) {}
85 <        try {
86 <            java.util.stream.DoubleStream x = r.doubles(0.0, 0.0);
87 <            shouldThrow();
88 <        } catch (IllegalArgumentException success) {}
89 <        try {
90 <            java.util.stream.DoubleStream x = r.doubles(10, .5, .4);
91 <            shouldThrow();
92 <        } catch (IllegalArgumentException success) {}
56 >        Runnable[] throwingActions = {
57 >            () -> r.ints(2, 1),
58 >            () -> r.ints(10, 42, 42),
59 >            () -> r.longs(-1L, -1L),
60 >            () -> r.longs(10, 1L, -2L),
61 >            () -> r.doubles(0.0, 0.0),
62 >            () -> r.doubles(10, .5, .4),
63 >        };
64 >        assertThrows(IllegalArgumentException.class, throwingActions);
65      }
66  
67      /**
# Line 147 | Line 119 | public class ThreadLocalRandom8Test exte
119          for (int least = -15485867; least < MAX_INT_BOUND; least += 524959) {
120              for (int bound = least + 2; bound > least && bound < MAX_INT_BOUND; bound += 67867967) {
121                  final int lo = least, hi = bound;
122 <                r.ints(size, lo, hi).parallel().
123 <                    forEach(x -> {if (x < lo || x >= hi)
124 <                                fails.getAndIncrement(); });
122 >                r.ints(size, lo, hi).parallel().forEach(
123 >                    x -> {
124 >                        if (x < lo || x >= hi)
125 >                            fails.getAndIncrement(); });
126              }
127          }
128          assertEquals(0, fails.get());
# Line 165 | Line 138 | public class ThreadLocalRandom8Test exte
138          for (long least = -86028121; least < MAX_LONG_BOUND; least += 1982451653L) {
139              for (long bound = least + 2; bound > least && bound < MAX_LONG_BOUND; bound += Math.abs(bound * 7919)) {
140                  final long lo = least, hi = bound;
141 <                r.longs(size, lo, hi).parallel().
142 <                    forEach(x -> {if (x < lo || x >= hi)
143 <                                fails.getAndIncrement(); });
141 >                r.longs(size, lo, hi).parallel().forEach(
142 >                    x -> {
143 >                        if (x < lo || x >= hi)
144 >                            fails.getAndIncrement(); });
145              }
146          }
147          assertEquals(0, fails.get());
# Line 183 | Line 157 | public class ThreadLocalRandom8Test exte
157          for (double least = 0.00011; least < 1.0e20; least *= 9) {
158              for (double bound = least * 1.0011; bound < 1.0e20; bound *= 17) {
159                  final double lo = least, hi = bound;
160 <                r.doubles(size, lo, hi).parallel().
161 <                    forEach(x -> {if (x < lo || x >= hi)
162 <                                fails.getAndIncrement(); });
160 >                r.doubles(size, lo, hi).parallel().forEach(
161 >                    x -> {
162 >                        if (x < lo || x >= hi)
163 >                            fails.getAndIncrement(); });
164              }
165          }
166          assertEquals(0, fails.get());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines