Class AtomicStampedReferenceTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by JSR166TestCase
              extended by AtomicStampedReferenceTest
All Implemented Interfaces:
junit.framework.Test

public class AtomicStampedReferenceTest
extends JSR166TestCase


Nested Class Summary
 
Nested classes/interfaces inherited from class JSR166TestCase
JSR166TestCase.AdjustablePolicy, JSR166TestCase.CallableOne, JSR166TestCase.CheckedBarrier, JSR166TestCase.CheckedCallable<T>, JSR166TestCase.CheckedInterruptedCallable<T>, JSR166TestCase.CheckedInterruptedRunnable, JSR166TestCase.CheckedRecursiveAction, JSR166TestCase.CheckedRecursiveTask<T>, JSR166TestCase.CheckedRunnable, JSR166TestCase.LongPossiblyInterruptedRunnable, JSR166TestCase.MediumInterruptedRunnable, JSR166TestCase.MediumPossiblyInterruptedRunnable, JSR166TestCase.MediumRunnable, JSR166TestCase.NoOpCallable, JSR166TestCase.NoOpREHandler, JSR166TestCase.NoOpRunnable, JSR166TestCase.NPETask, JSR166TestCase.RunnableShouldThrow, JSR166TestCase.ShortInterruptedRunnable, JSR166TestCase.ShortRunnable, JSR166TestCase.SimpleThreadFactory, JSR166TestCase.SmallCallable, JSR166TestCase.SmallPossiblyInterruptedRunnable, JSR166TestCase.SmallRunnable, JSR166TestCase.StringTask, JSR166TestCase.ThreadShouldThrow, JSR166TestCase.TrackedCallable, JSR166TestCase.TrackedLongRunnable, JSR166TestCase.TrackedMediumRunnable, JSR166TestCase.TrackedNoOpRunnable, JSR166TestCase.TrackedRunnable, JSR166TestCase.TrackedShortRunnable, JSR166TestCase.TrackedSmallRunnable
 
Field Summary
 
Fields inherited from class JSR166TestCase
eight, expensiveTests, five, four, LONG_DELAY_MS, m1, m10, m2, m3, m4, m5, m6, MEDIUM_DELAY_MS, nine, one, seven, SHORT_DELAY_MS, six, SIZE, SMALL_DELAY_MS, TEST_STRING, three, two, zero
 
Constructor Summary
AtomicStampedReferenceTest()
           
 
Method Summary
static void main(java.lang.String[] args)
           
static junit.framework.Test suite()
           
 void testAttemptStamp()
          attemptStamp succeeds in single thread
 void testCompareAndSet()
          compareAndSet succeeds in changing values if equal to expected reference and stamp else fails
 void testCompareAndSetInMultipleThreads()
          compareAndSet in one thread enables another waiting for reference value to succeed
 void testCompareAndSetInMultipleThreads2()
          compareAndSet in one thread enables another waiting for stamp value to succeed
 void testConstructor()
          constructor initializes to given reference and stamp
 void testGetSet()
          get returns the last values of reference and stamp set
 void testWeakCompareAndSet()
          repeated weakCompareAndSet succeeds in changing values when equal to expected
 
Methods inherited from class JSR166TestCase
assertThreadJoinTimesOut, awaiter, checkEmpty, delay, getShortDelay, joinPool, latchAwaitingStringTask, newTestSuite, permissivePolicy, possiblyInterruptedRunnable, runTest, runTestProfiled, runWithoutPermissions, runWithPermissions, setDelays, setUp, shouldThrow, shouldThrow, tearDown, threadAssertEquals, threadAssertEquals, threadAssertFalse, threadAssertNull, threadAssertSame, threadAssertTrue, threadFail, threadRecordFailure, threadShouldThrow, threadShouldThrow, threadUnexpectedException, trackedRunnable
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AtomicStampedReferenceTest

public AtomicStampedReferenceTest()
Method Detail

main

public static void main(java.lang.String[] args)

suite

public static junit.framework.Test suite()

testConstructor

public void testConstructor()
constructor initializes to given reference and stamp


testGetSet

public void testGetSet()
get returns the last values of reference and stamp set


testAttemptStamp

public void testAttemptStamp()
attemptStamp succeeds in single thread


testCompareAndSet

public void testCompareAndSet()
compareAndSet succeeds in changing values if equal to expected reference and stamp else fails


testCompareAndSetInMultipleThreads

public void testCompareAndSetInMultipleThreads()
                                        throws java.lang.Exception
compareAndSet in one thread enables another waiting for reference value to succeed

Throws:
java.lang.Exception

testCompareAndSetInMultipleThreads2

public void testCompareAndSetInMultipleThreads2()
                                         throws java.lang.Exception
compareAndSet in one thread enables another waiting for stamp value to succeed

Throws:
java.lang.Exception

testWeakCompareAndSet

public void testWeakCompareAndSet()
repeated weakCompareAndSet succeeds in changing values when equal to expected