--- jsr166/src/test/tck/AtomicReferenceTest.java 2016/06/16 23:35:25 1.25 +++ jsr166/src/test/tck/AtomicReferenceTest.java 2021/01/26 13:33:05 1.30 @@ -23,7 +23,7 @@ public class AtomicReferenceTest extends * constructor initializes to given value */ public void testConstructor() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertSame(one, ai.get()); } @@ -31,7 +31,7 @@ public class AtomicReferenceTest extends * default constructed initializes to null */ public void testConstructor2() { - AtomicReference ai = new AtomicReference(); + AtomicReference ai = new AtomicReference(); assertNull(ai.get()); } @@ -39,37 +39,37 @@ public class AtomicReferenceTest extends * get returns the last value set */ public void testGetSet() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertSame(one, ai.get()); ai.set(two); assertSame(two, ai.get()); - ai.set(m3); - assertSame(m3, ai.get()); + ai.set(minusThree); + assertSame(minusThree, ai.get()); } /** * get returns the last value lazySet in same thread */ public void testGetLazySet() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertSame(one, ai.get()); ai.lazySet(two); assertSame(two, ai.get()); - ai.lazySet(m3); - assertSame(m3, ai.get()); + ai.lazySet(minusThree); + assertSame(minusThree, ai.get()); } /** * compareAndSet succeeds in changing value if equal to expected else fails */ public void testCompareAndSet() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertTrue(ai.compareAndSet(one, two)); - assertTrue(ai.compareAndSet(two, m4)); - assertSame(m4, ai.get()); - assertFalse(ai.compareAndSet(m5, seven)); - assertSame(m4, ai.get()); - assertTrue(ai.compareAndSet(m4, seven)); + assertTrue(ai.compareAndSet(two, minusFour)); + assertSame(minusFour, ai.get()); + assertFalse(ai.compareAndSet(minusFive, seven)); + assertSame(minusFour, ai.get()); + assertTrue(ai.compareAndSet(minusFour, seven)); assertSame(seven, ai.get()); } @@ -78,7 +78,7 @@ public class AtomicReferenceTest extends * to succeed */ public void testCompareAndSetInMultipleThreads() throws Exception { - final AtomicReference ai = new AtomicReference(one); + final AtomicReference ai = new AtomicReference(one); Thread t = new Thread(new CheckedRunnable() { public void realRun() { while (!ai.compareAndSet(two, three)) @@ -96,12 +96,13 @@ public class AtomicReferenceTest extends * repeated weakCompareAndSet succeeds in changing value when equal * to expected */ + @SuppressWarnings("deprecation") public void testWeakCompareAndSet() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); do {} while (!ai.weakCompareAndSet(one, two)); - do {} while (!ai.weakCompareAndSet(two, m4)); - assertSame(m4, ai.get()); - do {} while (!ai.weakCompareAndSet(m4, seven)); + do {} while (!ai.weakCompareAndSet(two, minusFour)); + assertSame(minusFour, ai.get()); + do {} while (!ai.weakCompareAndSet(minusFour, seven)); assertSame(seven, ai.get()); } @@ -109,24 +110,24 @@ public class AtomicReferenceTest extends * getAndSet returns previous value and sets to given value */ public void testGetAndSet() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertSame(one, ai.getAndSet(zero)); - assertSame(zero, ai.getAndSet(m10)); - assertSame(m10, ai.getAndSet(one)); + assertSame(zero, ai.getAndSet(minusTen)); + assertSame(minusTen, ai.getAndSet(one)); } /** - * a deserialized serialized atomic holds same value + * a deserialized/reserialized atomic holds same value */ public void testSerialization() throws Exception { - AtomicReference x = new AtomicReference(); - AtomicReference y = serialClone(x); + AtomicReference x = new AtomicReference(); + AtomicReference y = serialClone(x); assertNotSame(x, y); x.set(one); - AtomicReference z = serialClone(x); + AtomicReference z = serialClone(x); assertNotSame(y, z); assertEquals(one, x.get()); - assertEquals(null, y.get()); + assertNull(y.get()); assertEquals(one, z.get()); } @@ -134,170 +135,10 @@ public class AtomicReferenceTest extends * toString returns current value. */ public void testToString() { - AtomicReference ai = new AtomicReference(one); + AtomicReference ai = new AtomicReference(one); assertEquals(one.toString(), ai.toString()); ai.set(two); assertEquals(two.toString(), ai.toString()); } - // jdk9 - - /** - * getPlain returns the last value set - */ - public void testGetPlainSet() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.getPlain()); - ai.set(two); - assertEquals(two, ai.getPlain()); - ai.set(m3); - assertEquals(m3, ai.getPlain()); - } - - /** - * getOpaque returns the last value set - */ - public void testGetOpaqueSet() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.getOpaque()); - ai.set(two); - assertEquals(two, ai.getOpaque()); - ai.set(m3); - assertEquals(m3, ai.getOpaque()); - } - - /** - * getAcquire returns the last value set - */ - public void testGetAcquireSet() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.getAcquire()); - ai.set(two); - assertEquals(two, ai.getAcquire()); - ai.set(m3); - assertEquals(m3, ai.getAcquire()); - } - - /** - * get returns the last value setPlain - */ - public void testGetSetPlain() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.get()); - ai.setPlain(two); - assertEquals(two, ai.get()); - ai.setPlain(m3); - assertEquals(m3, ai.get()); - } - - /** - * get returns the last value setOpaque - */ - public void testGetSetOpaque() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.get()); - ai.setOpaque(two); - assertEquals(two, ai.get()); - ai.setOpaque(m3); - assertEquals(m3, ai.get()); - } - - /** - * get returns the last value setRelease - */ - public void testGetSetRelease() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.get()); - ai.setRelease(two); - assertEquals(two, ai.get()); - ai.setRelease(m3); - assertEquals(m3, ai.get()); - } - - /** - * compareAndExchange succeeds in changing value if equal to - * expected else fails - */ - public void testCompareAndExchange() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.compareAndExchange(one, two)); - assertEquals(two, ai.compareAndExchange(two, m4)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchange(m5, seven)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchange(m4, seven)); - assertEquals(seven, ai.get()); - } - - /** - * compareAndExchangeAcquire succeeds in changing value if equal to - * expected else fails - */ - public void testCompareAndExchangeAcquire() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.compareAndExchangeAcquire(one, two)); - assertEquals(two, ai.compareAndExchangeAcquire(two, m4)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchangeAcquire(m5, seven)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchangeAcquire(m4, seven)); - assertEquals(seven, ai.get()); - } - - /** - * compareAndExchangeRelease succeeds in changing value if equal to - * expected else fails - */ - public void testCompareAndExchangeRelease() { - AtomicReference ai = new AtomicReference(one); - assertEquals(one, ai.compareAndExchangeRelease(one, two)); - assertEquals(two, ai.compareAndExchangeRelease(two, m4)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchangeRelease(m5, seven)); - assertEquals(m4, ai.get()); - assertEquals(m4, ai.compareAndExchangeRelease(m4, seven)); - assertEquals(seven, ai.get()); - } - - /** - * repeated weakCompareAndSetVolatile succeeds in changing value when equal - * to expected - */ - public void testWeakCompareAndSetVolatile() { - AtomicReference ai = new AtomicReference(one); - do {} while (!ai.weakCompareAndSetVolatile(one, two)); - do {} while (!ai.weakCompareAndSetVolatile(two, m4)); - assertEquals(m4, ai.get()); - do {} while (!ai.weakCompareAndSetVolatile(m4, seven)); - assertEquals(seven, ai.get()); - } - - /** - * repeated weakCompareAndSetAcquire succeeds in changing value when equal - * to expected - */ - public void testWeakCompareAndSetAcquire() { - AtomicReference ai = new AtomicReference(one); - do {} while (!ai.weakCompareAndSetAcquire(one, two)); - do {} while (!ai.weakCompareAndSetAcquire(two, m4)); - assertEquals(m4, ai.get()); - do {} while (!ai.weakCompareAndSetAcquire(m4, seven)); - assertEquals(seven, ai.get()); - } - - /** - * repeated weakCompareAndSetRelease succeeds in changing value when equal - * to expected - */ - public void testWeakCompareAndSetRelease() { - AtomicReference ai = new AtomicReference(one); - do {} while (!ai.weakCompareAndSetRelease(one, two)); - do {} while (!ai.weakCompareAndSetRelease(two, m4)); - assertEquals(m4, ai.get()); - do {} while (!ai.weakCompareAndSetRelease(m4, seven)); - assertEquals(seven, ai.get()); - } - - - }