Class AtomicMarkableReferenceTest

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

public class AtomicMarkableReferenceTest
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
AtomicMarkableReferenceTest()
           
 
Method Summary
static void main(java.lang.String[] args)
           
static junit.framework.Test suite()
           
 void testAttemptMark()
          attemptMark succeeds in single thread
 void testCompareAndSet()
          compareAndSet succeeds in changing values if equal to expected reference and mark 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 mark value to succeed
 void testConstructor()
          constructor initializes to given reference and mark
 void testGetSet()
          get returns the last values of reference and mark 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

AtomicMarkableReferenceTest

public AtomicMarkableReferenceTest()
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 mark


testGetSet

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


testAttemptMark

public void testAttemptMark()
attemptMark succeeds in single thread


testCompareAndSet

public void testCompareAndSet()
compareAndSet succeeds in changing values if equal to expected reference and mark 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 mark value to succeed

Throws:
java.lang.Exception

testWeakCompareAndSet

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