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

Comparing jsr166/src/test/tck/AtomicLongTest.java (file contents):
Revision 1.29 by jsr166, Sat Apr 25 04:55:30 2015 UTC vs.
Revision 1.30 by dl, Thu Jun 16 23:35:25 2016 UTC

# Line 267 | Line 267 | public class AtomicLongTest extends JSR1
267          }
268      }
269  
270 +    // jdk9
271 +    
272 +    /**
273 +     * getPlain returns the last value set
274 +     */
275 +    public void testGetPlainSet() {
276 +        AtomicLong ai = new AtomicLong(1);
277 +        assertEquals(1, ai.getPlain());
278 +        ai.set(2);
279 +        assertEquals(2, ai.getPlain());
280 +        ai.set(-3);
281 +        assertEquals(-3, ai.getPlain());
282 +    }
283 +
284 +    /**
285 +     * getOpaque returns the last value set
286 +     */
287 +    public void testGetOpaqueSet() {
288 +        AtomicLong ai = new AtomicLong(1);
289 +        assertEquals(1, ai.getOpaque());
290 +        ai.set(2);
291 +        assertEquals(2, ai.getOpaque());
292 +        ai.set(-3);
293 +        assertEquals(-3, ai.getOpaque());
294 +    }
295 +
296 +    /**
297 +     * getAcquire returns the last value set
298 +     */
299 +    public void testGetAcquireSet() {
300 +        AtomicLong ai = new AtomicLong(1);
301 +        assertEquals(1, ai.getAcquire());
302 +        ai.set(2);
303 +        assertEquals(2, ai.getAcquire());
304 +        ai.set(-3);
305 +        assertEquals(-3, ai.getAcquire());
306 +    }
307 +    
308 +    /**
309 +     * get returns the last value setPlain
310 +     */
311 +    public void testGetSetPlain() {
312 +        AtomicLong ai = new AtomicLong(1);
313 +        assertEquals(1, ai.get());
314 +        ai.setPlain(2);
315 +        assertEquals(2, ai.get());
316 +        ai.setPlain(-3);
317 +        assertEquals(-3, ai.get());
318 +    }
319 +
320 +    /**
321 +     * get returns the last value setOpaque
322 +     */
323 +    public void testGetSetOpaque() {
324 +        AtomicLong ai = new AtomicLong(1);
325 +        assertEquals(1, ai.get());
326 +        ai.setOpaque(2);
327 +        assertEquals(2, ai.get());
328 +        ai.setOpaque(-3);
329 +        assertEquals(-3, ai.get());
330 +    }
331 +
332 +    /**
333 +     * get returns the last value setRelease
334 +     */
335 +    public void testGetSetRelease() {
336 +        AtomicLong ai = new AtomicLong(1);
337 +        assertEquals(1, ai.get());
338 +        ai.setRelease(2);
339 +        assertEquals(2, ai.get());
340 +        ai.setRelease(-3);
341 +        assertEquals(-3, ai.get());
342 +    }
343 +    
344 +    /**
345 +     * compareAndExchange succeeds in changing value if equal to
346 +     * expected else fails
347 +     */
348 +    public void testCompareAndExchange() {
349 +        AtomicLong ai = new AtomicLong(1);
350 +        assertEquals(1, ai.compareAndExchange(1, 2));
351 +        assertEquals(2, ai.compareAndExchange(2, -4));
352 +        assertEquals(-4, ai.get());
353 +        assertEquals(-4, ai.compareAndExchange(-5, 7));
354 +        assertEquals(-4, ai.get());
355 +        assertEquals(-4, ai.compareAndExchange(-4, 7));
356 +        assertEquals(7, ai.get());
357 +    }
358 +
359 +    /**
360 +     * compareAndExchangeAcquire succeeds in changing value if equal to
361 +     * expected else fails
362 +     */
363 +    public void testCompareAndExchangeAcquire() {
364 +        AtomicLong ai = new AtomicLong(1);
365 +        assertEquals(1, ai.compareAndExchangeAcquire(1, 2));
366 +        assertEquals(2, ai.compareAndExchangeAcquire(2, -4));
367 +        assertEquals(-4, ai.get());
368 +        assertEquals(-4, ai.compareAndExchangeAcquire(-5, 7));
369 +        assertEquals(-4, ai.get());
370 +        assertEquals(-4, ai.compareAndExchangeAcquire(-4, 7));
371 +        assertEquals(7, ai.get());
372 +    }
373 +
374 +    /**
375 +     * compareAndExchangeRelease succeeds in changing value if equal to
376 +     * expected else fails
377 +     */
378 +    public void testCompareAndExchangeRelease() {
379 +        AtomicLong ai = new AtomicLong(1);
380 +        assertEquals(1, ai.compareAndExchangeRelease(1, 2));
381 +        assertEquals(2, ai.compareAndExchangeRelease(2, -4));
382 +        assertEquals(-4, ai.get());
383 +        assertEquals(-4, ai.compareAndExchangeRelease(-5, 7));
384 +        assertEquals(-4, ai.get());
385 +        assertEquals(-4, ai.compareAndExchangeRelease(-4, 7));
386 +        assertEquals(7, ai.get());
387 +    }
388 +
389 +    /**
390 +     * repeated weakCompareAndSetVolatile succeeds in changing value when equal
391 +     * to expected
392 +     */
393 +    public void testWeakCompareAndSetVolatile() {
394 +        AtomicLong ai = new AtomicLong(1);
395 +        do {} while (!ai.weakCompareAndSetVolatile(1, 2));
396 +        do {} while (!ai.weakCompareAndSetVolatile(2, -4));
397 +        assertEquals(-4, ai.get());
398 +        do {} while (!ai.weakCompareAndSetVolatile(-4, 7));
399 +        assertEquals(7, ai.get());
400 +    }
401 +
402 +    /**
403 +     * repeated weakCompareAndSetAcquire succeeds in changing value when equal
404 +     * to expected
405 +     */
406 +    public void testWeakCompareAndSetAcquire() {
407 +        AtomicLong ai = new AtomicLong(1);
408 +        do {} while (!ai.weakCompareAndSetAcquire(1, 2));
409 +        do {} while (!ai.weakCompareAndSetAcquire(2, -4));
410 +        assertEquals(-4, ai.get());
411 +        do {} while (!ai.weakCompareAndSetAcquire(-4, 7));
412 +        assertEquals(7, ai.get());
413 +    }
414 +
415 +    /**
416 +     * repeated weakCompareAndSetRelease succeeds in changing value when equal
417 +     * to expected
418 +     */
419 +    public void testWeakCompareAndSetRelease() {
420 +        AtomicLong ai = new AtomicLong(1);
421 +        do {} while (!ai.weakCompareAndSetRelease(1, 2));
422 +        do {} while (!ai.weakCompareAndSetRelease(2, -4));
423 +        assertEquals(-4, ai.get());
424 +        do {} while (!ai.weakCompareAndSetRelease(-4, 7));
425 +        assertEquals(7, ai.get());
426 +    }
427 +    
428   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines