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

Comparing jsr166/src/test/tck/AtomicIntegerFieldUpdaterTest.java (file contents):
Revision 1.7 by dl, Mon Dec 29 19:05:40 2003 UTC vs.
Revision 1.8 by dl, Tue Jan 20 20:20:56 2004 UTC

# Line 64 | Line 64 | public class AtomicIntegerFieldUpdaterTe
64       *  get returns the last value set or assigned
65       */
66      public void testGetSet() {
67 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
67 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
68 >        try {
69 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
70 >        } catch (RuntimeException ok) {
71 >            return;
72 >        }
73          x = 1;
74          assertEquals(1,a.get(this));
75          a.set(this,2);
# Line 77 | Line 82 | public class AtomicIntegerFieldUpdaterTe
82       * compareAndSet succeeds in changing value if equal to expected else fails
83       */
84      public void testCompareAndSet() {
85 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
85 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
86 >        try {
87 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
88 >        } catch (RuntimeException ok) {
89 >            return;
90 >        }
91          x = 1;
92          assertTrue(a.compareAndSet(this,1,2));
93          assertTrue(a.compareAndSet(this,2,-4));
# Line 95 | Line 105 | public class AtomicIntegerFieldUpdaterTe
105       */
106      public void testCompareAndSetInMultipleThreads() {
107          x = 1;
108 <        final AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
108 >        final AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>a;
109 >        try {
110 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
111 >        } catch (RuntimeException ok) {
112 >            return;
113 >        }
114  
115          Thread t = new Thread(new Runnable() {
116                  public void run() {
# Line 118 | Line 133 | public class AtomicIntegerFieldUpdaterTe
133       * to expected
134       */
135      public void testWeakCompareAndSet() {
136 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
136 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
137 >        try {
138 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
139 >        } catch (RuntimeException ok) {
140 >            return;
141 >        }
142          x = 1;
143          while(!a.weakCompareAndSet(this,1,2));
144          while(!a.weakCompareAndSet(this,2,-4));
# Line 131 | Line 151 | public class AtomicIntegerFieldUpdaterTe
151       *  getAndSet returns previous value and sets to given value
152       */
153      public void testGetAndSet() {
154 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
154 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
155 >        try {
156 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
157 >        } catch (RuntimeException ok) {
158 >            return;
159 >        }
160          x = 1;
161          assertEquals(1,a.getAndSet(this, 0));
162          assertEquals(0,a.getAndSet(this,-10));
# Line 142 | Line 167 | public class AtomicIntegerFieldUpdaterTe
167       * getAndAdd returns previous value and adds given value
168       */
169      public void testGetAndAdd() {
170 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
170 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
171 >        try {
172 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
173 >        } catch (RuntimeException ok) {
174 >            return;
175 >        }
176          x = 1;
177          assertEquals(1,a.getAndAdd(this,2));
178          assertEquals(3,a.get(this));
# Line 154 | Line 184 | public class AtomicIntegerFieldUpdaterTe
184       * getAndDecrement returns previous value and decrements
185       */
186      public void testGetAndDecrement() {
187 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
187 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
188 >        try {
189 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
190 >        } catch (RuntimeException ok) {
191 >            return;
192 >        }
193          x = 1;
194          assertEquals(1,a.getAndDecrement(this));
195          assertEquals(0,a.getAndDecrement(this));
# Line 165 | Line 200 | public class AtomicIntegerFieldUpdaterTe
200       * getAndIncrement returns previous value and increments
201       */
202      public void testGetAndIncrement() {
203 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
203 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
204 >        try {
205 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
206 >        } catch (RuntimeException ok) {
207 >            return;
208 >        }
209          x = 1;
210          assertEquals(1,a.getAndIncrement(this));
211          assertEquals(2,a.get(this));
# Line 180 | Line 220 | public class AtomicIntegerFieldUpdaterTe
220       * addAndGet adds given value to current, and returns current value
221       */
222      public void testAddAndGet() {
223 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
223 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
224 >        try {
225 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
226 >        } catch (RuntimeException ok) {
227 >            return;
228 >        }
229          x = 1;
230          assertEquals(3,a.addAndGet(this,2));
231          assertEquals(3,a.get(this));
# Line 192 | Line 237 | public class AtomicIntegerFieldUpdaterTe
237       * decrementAndGet decrements and returns current value
238       */
239      public void testDecrementAndGet() {
240 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
240 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
241 >        try {
242 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
243 >        } catch (RuntimeException ok) {
244 >            return;
245 >        }
246          x = 1;
247          assertEquals(0,a.decrementAndGet(this));
248          assertEquals(-1,a.decrementAndGet(this));
# Line 204 | Line 254 | public class AtomicIntegerFieldUpdaterTe
254       * incrementAndGet increments and returns current value
255       */
256      public void testIncrementAndGet() {
257 <        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
257 >        AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a;
258 >        try {
259 >            a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
260 >        } catch (RuntimeException ok) {
261 >            return;
262 >        }
263          x = 1;
264          assertEquals(2,a.incrementAndGet(this));
265          assertEquals(2,a.get(this));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines