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

Comparing jsr166/src/test/tck/ExchangerTest.java (file contents):
Revision 1.21 by jsr166, Tue May 31 16:16:23 2011 UTC vs.
Revision 1.26 by dl, Tue Jan 26 13:33:06 2021 UTC

# Line 6 | Line 6
6   * Pat Fisher, Mike Judd.
7   */
8  
9 < import junit.framework.*;
10 < import java.util.*;
9 > import static java.util.concurrent.TimeUnit.MILLISECONDS;
10 >
11   import java.util.concurrent.CountDownLatch;
12   import java.util.concurrent.Exchanger;
13   import java.util.concurrent.TimeoutException;
14 < import static java.util.concurrent.TimeUnit.MILLISECONDS;
14 >
15 > import junit.framework.Test;
16 > import junit.framework.TestSuite;
17  
18   public class ExchangerTest extends JSR166TestCase {
19  
20      public static void main(String[] args) {
21 <        junit.textui.TestRunner.run(suite());
21 >        main(suite(), args);
22      }
23      public static Test suite() {
24          return new TestSuite(ExchangerTest.class);
# Line 26 | Line 28 | public class ExchangerTest extends JSR16
28       * exchange exchanges objects across two threads
29       */
30      public void testExchange() {
31 <        final Exchanger e = new Exchanger();
31 >        final Exchanger<Item> e = new Exchanger<Item>();
32          Thread t1 = newStartedThread(new CheckedRunnable() {
33              public void realRun() throws InterruptedException {
34                  assertSame(one, e.exchange(two));
# Line 46 | Line 48 | public class ExchangerTest extends JSR16
48       * timed exchange exchanges objects across two threads
49       */
50      public void testTimedExchange() {
51 <        final Exchanger e = new Exchanger();
51 >        final Exchanger<Item> e = new Exchanger<Item>();
52          Thread t1 = newStartedThread(new CheckedRunnable() {
53              public void realRun() throws Exception {
54                  assertSame(one, e.exchange(two, LONG_DELAY_MS, MILLISECONDS));
# Line 63 | Line 65 | public class ExchangerTest extends JSR16
65      }
66  
67      /**
68 <     * interrupt during wait for exchange throws IE
68 >     * interrupt during wait for exchange throws InterruptedException
69       */
70      public void testExchange_InterruptedException() {
71 <        final Exchanger e = new Exchanger();
71 >        final Exchanger<Item> e = new Exchanger<Item>();
72          final CountDownLatch threadStarted = new CountDownLatch(1);
73          Thread t = newStartedThread(new CheckedInterruptedRunnable() {
74              public void realRun() throws InterruptedException {
# Line 80 | Line 82 | public class ExchangerTest extends JSR16
82      }
83  
84      /**
85 <     * interrupt during wait for timed exchange throws IE
85 >     * interrupt during wait for timed exchange throws InterruptedException
86       */
87      public void testTimedExchange_InterruptedException() {
88 <        final Exchanger e = new Exchanger();
88 >        final Exchanger<Item> e = new Exchanger<Item>();
89          final CountDownLatch threadStarted = new CountDownLatch(1);
90          Thread t = newStartedThread(new CheckedInterruptedRunnable() {
91              public void realRun() throws Exception {
# Line 100 | Line 102 | public class ExchangerTest extends JSR16
102       * timeout during wait for timed exchange throws TimeoutException
103       */
104      public void testExchange_TimeoutException() {
105 <        final Exchanger e = new Exchanger();
105 >        final Exchanger<Item> e = new Exchanger<Item>();
106          Thread t = newStartedThread(new CheckedRunnable() {
107              public void realRun() throws Exception {
108                  long startTime = System.nanoTime();
# Line 118 | Line 120 | public class ExchangerTest extends JSR16
120       * If one exchanging thread is interrupted, another succeeds.
121       */
122      public void testReplacementAfterExchange() {
123 <        final Exchanger e = new Exchanger();
123 >        final Exchanger<Item> e = new Exchanger<Item>();
124          final CountDownLatch exchanged = new CountDownLatch(2);
125          final CountDownLatch interrupted = new CountDownLatch(1);
126          Thread t1 = newStartedThread(new CheckedInterruptedRunnable() {
# Line 131 | Line 133 | public class ExchangerTest extends JSR16
133              public void realRun() throws InterruptedException {
134                  assertSame(one, e.exchange(two));
135                  exchanged.countDown();
136 <                interrupted.await();
136 >                await(interrupted);
137                  assertSame(three, e.exchange(one));
138              }});
139          Thread t3 = newStartedThread(new CheckedRunnable() {
140              public void realRun() throws InterruptedException {
141 <                interrupted.await();
141 >                await(interrupted);
142                  assertSame(one, e.exchange(three));
143              }});
144  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines