Class AtomicIntegerFieldUpdaterTest

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

public class AtomicIntegerFieldUpdaterTest
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
AtomicIntegerFieldUpdaterTest()
           
 
Method Summary
static void main(java.lang.String[] args)
           
static junit.framework.Test suite()
           
 void testAddAndGet()
          addAndGet adds given value to current, and returns current value
 void testCompareAndSet()
          compareAndSet succeeds in changing value if equal to expected else fails
 void testCompareAndSetInMultipleThreads()
          compareAndSet in one thread enables another waiting for value to succeed
 void testConstructor()
          Construction with non-existent field throws RuntimeException
 void testConstructor2()
          construction with field not of given type throws RuntimeException
 void testConstructor3()
          construction with non-volatile field throws RuntimeException
 void testDecrementAndGet()
          decrementAndGet decrements and returns current value
 void testGetAndAdd()
          getAndAdd returns previous value and adds given value
 void testGetAndDecrement()
          getAndDecrement returns previous value and decrements
 void testGetAndIncrement()
          getAndIncrement returns previous value and increments
 void testGetAndSet()
          getAndSet returns previous value and sets to given value
 void testGetLazySet()
          get returns the last value lazySet by same thread
 void testGetSet()
          get returns the last value set or assigned
 void testIncrementAndGet()
          incrementAndGet increments and returns current value
 void testWeakCompareAndSet()
          repeated weakCompareAndSet succeeds in changing value 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

AtomicIntegerFieldUpdaterTest

public AtomicIntegerFieldUpdaterTest()
Method Detail

main

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

suite

public static junit.framework.Test suite()

testConstructor

public void testConstructor()
Construction with non-existent field throws RuntimeException


testConstructor2

public void testConstructor2()
construction with field not of given type throws RuntimeException


testConstructor3

public void testConstructor3()
construction with non-volatile field throws RuntimeException


testGetSet

public void testGetSet()
get returns the last value set or assigned


testGetLazySet

public void testGetLazySet()
get returns the last value lazySet by same thread


testCompareAndSet

public void testCompareAndSet()
compareAndSet succeeds in changing value if equal to expected else fails


testCompareAndSetInMultipleThreads

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

Throws:
java.lang.Exception

testWeakCompareAndSet

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


testGetAndSet

public void testGetAndSet()
getAndSet returns previous value and sets to given value


testGetAndAdd

public void testGetAndAdd()
getAndAdd returns previous value and adds given value


testGetAndDecrement

public void testGetAndDecrement()
getAndDecrement returns previous value and decrements


testGetAndIncrement

public void testGetAndIncrement()
getAndIncrement returns previous value and increments


testAddAndGet

public void testAddAndGet()
addAndGet adds given value to current, and returns current value


testDecrementAndGet

public void testDecrementAndGet()
decrementAndGet decrements and returns current value


testIncrementAndGet

public void testIncrementAndGet()
incrementAndGet increments and returns current value