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.10 by jsr166, Sat Nov 21 02:07:26 2009 UTC vs.
Revision 1.13 by jsr166, Tue Dec 1 07:23:09 2009 UTC

# Line 9 | Line 9
9   import junit.framework.*;
10   import java.util.*;
11   import java.util.concurrent.*;
12 + import static java.util.concurrent.TimeUnit.MILLISECONDS;
13  
14   public class ExchangerTest extends JSR166TestCase {
15  
# Line 26 | Line 27 | public class ExchangerTest extends JSR16
27          final Exchanger e = new Exchanger();
28          Thread t1 = new Thread(new CheckedRunnable() {
29              public void realRun() throws InterruptedException {
30 <                Object v = e.exchange(one);
31 <                threadAssertEquals(v, two);
31 <                Object w = e.exchange(v);
32 <                threadAssertEquals(w, one);
30 >                assertSame(one, e.exchange(two));
31 >                assertSame(two, e.exchange(one));
32              }});
33          Thread t2 = new Thread(new CheckedRunnable() {
34              public void realRun() throws InterruptedException {
35 <                Object v = e.exchange(two);
36 <                threadAssertEquals(v, one);
38 <                Object w = e.exchange(v);
39 <                threadAssertEquals(w, two);
35 >                assertSame(two, e.exchange(one));
36 >                assertSame(one, e.exchange(two));
37              }});
38  
39          t1.start();
# Line 52 | Line 49 | public class ExchangerTest extends JSR16
49          final Exchanger e = new Exchanger();
50          Thread t1 = new Thread(new CheckedRunnable() {
51              public void realRun() throws Exception {
52 <                Object v = e.exchange(one, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
53 <                threadAssertEquals(v, two);
57 <                Object w = e.exchange(v, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
58 <                threadAssertEquals(w, one);
52 >                assertSame(one, e.exchange(two, SHORT_DELAY_MS, MILLISECONDS));
53 >                assertSame(two, e.exchange(one, SHORT_DELAY_MS, MILLISECONDS));
54              }});
55          Thread t2 = new Thread(new CheckedRunnable() {
56              public void realRun() throws Exception {
57 <                Object v = e.exchange(two, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
58 <                threadAssertEquals(v, one);
64 <                Object w = e.exchange(v, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
65 <                threadAssertEquals(w, two);
57 >                assertSame(two, e.exchange(one, SHORT_DELAY_MS, MILLISECONDS));
58 >                assertSame(one, e.exchange(two, SHORT_DELAY_MS, MILLISECONDS));
59              }});
60  
61          t1.start();
# Line 94 | Line 87 | public class ExchangerTest extends JSR16
87          final Exchanger e = new Exchanger();
88          Thread t = new Thread(new CheckedInterruptedRunnable() {
89              public void realRun() throws Exception {
90 <                e.exchange(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
90 >                e.exchange(null, SMALL_DELAY_MS, MILLISECONDS);
91              }});
92  
93          t.start();
94 +        Thread.sleep(SHORT_DELAY_MS);
95          t.interrupt();
96          t.join();
97      }
# Line 107 | Line 101 | public class ExchangerTest extends JSR16
101       */
102      public void testExchange_TimeOutException() throws InterruptedException {
103          final Exchanger e = new Exchanger();
104 <        Thread t = new Thread(new CheckedRunnable() {
104 >        Thread t = new ThreadShouldThrow(TimeoutException.class) {
105              public void realRun() throws Exception {
106 <                try {
107 <                    e.exchange(null, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
114 <                    threadShouldThrow();
115 <                } catch (TimeoutException success) {}
116 <            }});
106 >                e.exchange(null, SHORT_DELAY_MS, MILLISECONDS);
107 >            }};
108  
109          t.start();
110          t.join();
# Line 126 | Line 117 | public class ExchangerTest extends JSR16
117          final Exchanger e = new Exchanger();
118          Thread t1 = new Thread(new CheckedInterruptedRunnable() {
119              public void realRun() throws InterruptedException {
120 <                Object v = e.exchange(one);
121 <                threadAssertEquals(v, two);
131 <                Object w = e.exchange(v);
120 >                assertSame(two, e.exchange(one));
121 >                e.exchange(two);
122              }});
123          Thread t2 = new Thread(new CheckedRunnable() {
124              public void realRun() throws InterruptedException {
125 <                Object v = e.exchange(two);
136 <                threadAssertEquals(v, one);
125 >                assertSame(one, e.exchange(two));
126                  Thread.sleep(SMALL_DELAY_MS);
127 <                Object w = e.exchange(v);
139 <                threadAssertEquals(w, three);
127 >                assertSame(three, e.exchange(one));
128              }});
129          Thread t3 = new Thread(new CheckedRunnable() {
130              public void realRun() throws InterruptedException {
131                  Thread.sleep(SMALL_DELAY_MS);
132 <                Object w = e.exchange(three);
145 <                threadAssertEquals(w, one);
132 >                assertSame(one, e.exchange(three));
133              }});
134  
135          t1.start();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines