[cvs] / jsr166 / src / test / tck / AtomicIntegerFieldUpdaterTest.java Repository:
ViewVC logotype

Diff of /jsr166/src/test/tck/AtomicIntegerFieldUpdaterTest.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4, Thu Sep 25 11:02:41 2003 UTC revision 1.5, Sat Oct 25 16:02:13 2003 UTC
# Line 27  Line 27 
27          try{          try{
28              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>
29                  a = AtomicIntegerFieldUpdater.newUpdater                  a = AtomicIntegerFieldUpdater.newUpdater
30                  (getClass(), "y");                  (AtomicIntegerFieldUpdaterTest.class, "y");
31              shouldThrow();              shouldThrow();
32          }          }
33          catch (RuntimeException rt) {}          catch (RuntimeException rt) {}
# Line 40  Line 40 
40          try{          try{
41              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>
42                  a = AtomicIntegerFieldUpdater.newUpdater                  a = AtomicIntegerFieldUpdater.newUpdater
43                  (getClass(), "z");                  (AtomicIntegerFieldUpdaterTest.class, "z");
44              shouldThrow();              shouldThrow();
45          }          }
46          catch (RuntimeException rt) {}          catch (RuntimeException rt) {}
# Line 53  Line 53 
53          try{          try{
54              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>              AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>
55                  a = AtomicIntegerFieldUpdater.newUpdater                  a = AtomicIntegerFieldUpdater.newUpdater
56                  (getClass(), "w");                  (AtomicIntegerFieldUpdaterTest.class, "w");
57              shouldThrow();              shouldThrow();
58          }          }
59          catch (RuntimeException rt) {}          catch (RuntimeException rt) {}
# Line 63  Line 63 
63       *  get returns the last value set or assigned       *  get returns the last value set or assigned
64       */       */
65      public void testGetSet() {      public void testGetSet() {
66          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
67          x = 1;          x = 1;
68          assertEquals(1,a.get(this));          assertEquals(1,a.get(this));
69          a.set(this,2);          a.set(this,2);
# Line 76  Line 76 
76       * compareAndSet succeeds in changing value if equal to expected else fails       * compareAndSet succeeds in changing value if equal to expected else fails
77       */       */
78      public void testCompareAndSet() {      public void testCompareAndSet() {
79          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
80          x = 1;          x = 1;
81          assertTrue(a.compareAndSet(this,1,2));          assertTrue(a.compareAndSet(this,1,2));
82          assertTrue(a.compareAndSet(this,2,-4));          assertTrue(a.compareAndSet(this,2,-4));
# Line 94  Line 94 
94       */       */
95      public void testCompareAndSetInMultipleThreads() {      public void testCompareAndSetInMultipleThreads() {
96          x = 1;          x = 1;
97          final AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          final AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest>a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
98    
99          Thread t = new Thread(new Runnable() {          Thread t = new Thread(new Runnable() {
100                  public void run() {                  public void run() {
# Line 117  Line 117 
117       * to expected       * to expected
118       */       */
119      public void testWeakCompareAndSet() {      public void testWeakCompareAndSet() {
120          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
121          x = 1;          x = 1;
122          while(!a.weakCompareAndSet(this,1,2));          while(!a.weakCompareAndSet(this,1,2));
123          while(!a.weakCompareAndSet(this,2,-4));          while(!a.weakCompareAndSet(this,2,-4));
# Line 130  Line 130 
130       *  getAndSet returns previous value and sets to given value       *  getAndSet returns previous value and sets to given value
131       */       */
132      public void testGetAndSet() {      public void testGetAndSet() {
133          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
134          x = 1;          x = 1;
135          assertEquals(1,a.getAndSet(this, 0));          assertEquals(1,a.getAndSet(this, 0));
136          assertEquals(0,a.getAndSet(this,-10));          assertEquals(0,a.getAndSet(this,-10));
# Line 141  Line 141 
141       * getAndAdd returns previous value and adds given value       * getAndAdd returns previous value and adds given value
142       */       */
143      public void testGetAndAdd() {      public void testGetAndAdd() {
144          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
145          x = 1;          x = 1;
146          assertEquals(1,a.getAndAdd(this,2));          assertEquals(1,a.getAndAdd(this,2));
147          assertEquals(3,a.get(this));          assertEquals(3,a.get(this));
# Line 153  Line 153 
153       * getAndDecrement returns previous value and decrements       * getAndDecrement returns previous value and decrements
154       */       */
155      public void testGetAndDecrement() {      public void testGetAndDecrement() {
156          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
157          x = 1;          x = 1;
158          assertEquals(1,a.getAndDecrement(this));          assertEquals(1,a.getAndDecrement(this));
159          assertEquals(0,a.getAndDecrement(this));          assertEquals(0,a.getAndDecrement(this));
# Line 164  Line 164 
164       * getAndIncrement returns previous value and increments       * getAndIncrement returns previous value and increments
165       */       */
166      public void testGetAndIncrement() {      public void testGetAndIncrement() {
167          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
168          x = 1;          x = 1;
169          assertEquals(1,a.getAndIncrement(this));          assertEquals(1,a.getAndIncrement(this));
170          assertEquals(2,a.get(this));          assertEquals(2,a.get(this));
# Line 179  Line 179 
179       * addAndGet adds given value to current, and returns current value       * addAndGet adds given value to current, and returns current value
180       */       */
181      public void testAddAndGet() {      public void testAddAndGet() {
182          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
183          x = 1;          x = 1;
184          assertEquals(3,a.addAndGet(this,2));          assertEquals(3,a.addAndGet(this,2));
185          assertEquals(3,a.get(this));          assertEquals(3,a.get(this));
# Line 191  Line 191 
191       * decrementAndGet decrements and returns current value       * decrementAndGet decrements and returns current value
192       */       */
193      public void testDecrementAndGet() {      public void testDecrementAndGet() {
194          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
195          x = 1;          x = 1;
196          assertEquals(0,a.decrementAndGet(this));          assertEquals(0,a.decrementAndGet(this));
197          assertEquals(-1,a.decrementAndGet(this));          assertEquals(-1,a.decrementAndGet(this));
# Line 203  Line 203 
203       * incrementAndGet increments and returns current value       * incrementAndGet increments and returns current value
204       */       */
205      public void testIncrementAndGet() {      public void testIncrementAndGet() {
206          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(getClass(), "x");          AtomicIntegerFieldUpdater<AtomicIntegerFieldUpdaterTest> a = AtomicIntegerFieldUpdater.newUpdater(AtomicIntegerFieldUpdaterTest.class, "x");
207          x = 1;          x = 1;
208          assertEquals(2,a.incrementAndGet(this));          assertEquals(2,a.incrementAndGet(this));
209          assertEquals(2,a.get(this));          assertEquals(2,a.get(this));

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8