ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/AtomicBooleanTest.java
(Generate patch)

Comparing jsr166/src/test/tck/AtomicBooleanTest.java (file contents):
Revision 1.26 by jsr166, Fri Jun 17 01:38:28 2016 UTC vs.
Revision 1.27 by jsr166, Fri Jun 17 19:00:48 2016 UTC

# Line 139 | Line 139 | public class AtomicBooleanTest extends J
139          assertEquals(Boolean.toString(true), ai.toString());
140      }
141  
142    // jdk9
143
144    /**
145     * getPlain returns the last value set
146     */
147    public void testGetPlainSet() {
148        AtomicBoolean ai = new AtomicBoolean(true);
149        assertEquals(true, ai.getPlain());
150        ai.set(false);
151        assertEquals(false, ai.getPlain());
152        ai.set(true);
153        assertEquals(true, ai.getPlain());
154    }
155
156    /**
157     * getOpaque returns the last value set
158     */
159    public void testGetOpaqueSet() {
160        AtomicBoolean ai = new AtomicBoolean(true);
161        assertEquals(true, ai.getOpaque());
162        ai.set(false);
163        assertEquals(false, ai.getOpaque());
164        ai.set(true);
165        assertEquals(true, ai.getOpaque());
166    }
167
168    /**
169     * getAcquire returns the last value set
170     */
171    public void testGetAcquireSet() {
172        AtomicBoolean ai = new AtomicBoolean(true);
173        assertEquals(true, ai.getAcquire());
174        ai.set(false);
175        assertEquals(false, ai.getAcquire());
176        ai.set(true);
177        assertEquals(true, ai.getAcquire());
178    }
179
180    /**
181     * get returns the last value setPlain
182     */
183    public void testGetSetPlain() {
184        AtomicBoolean ai = new AtomicBoolean(true);
185        assertEquals(true, ai.get());
186        ai.setPlain(false);
187        assertEquals(false, ai.get());
188        ai.setPlain(true);
189        assertEquals(true, ai.get());
190    }
191
192    /**
193     * get returns the last value setOpaque
194     */
195    public void testGetSetOpaque() {
196        AtomicBoolean ai = new AtomicBoolean(true);
197        assertEquals(true, ai.get());
198        ai.setOpaque(false);
199        assertEquals(false, ai.get());
200        ai.setOpaque(true);
201        assertEquals(true, ai.get());
202    }
203
204    /**
205     * get returns the last value setRelease
206     */
207    public void testGetSetRelease() {
208        AtomicBoolean ai = new AtomicBoolean(true);
209        assertEquals(true, ai.get());
210        ai.setRelease(false);
211        assertEquals(false, ai.get());
212        ai.setRelease(true);
213        assertEquals(true, ai.get());
214    }
215
216    /**
217     * compareAndExchange succeeds in changing value if equal to
218     * expected else fails
219     */
220    public void testCompareAndExchange() {
221        AtomicBoolean ai = new AtomicBoolean(true);
222        assertEquals(true, ai.compareAndExchange(true, false));
223        assertEquals(false, ai.compareAndExchange(false, false));
224        assertEquals(false, ai.get());
225        assertEquals(false, ai.compareAndExchange(true, true));
226        assertEquals(false, ai.get());
227        assertEquals(false, ai.compareAndExchange(false, true));
228        assertEquals(true, ai.get());
229    }
230
231    /**
232     * compareAndExchangeAcquire succeeds in changing value if equal to
233     * expected else fails
234     */
235    public void testCompareAndExchangeAcquire() {
236        AtomicBoolean ai = new AtomicBoolean(true);
237        assertEquals(true, ai.compareAndExchangeAcquire(true, false));
238        assertEquals(false, ai.compareAndExchangeAcquire(false, false));
239        assertEquals(false, ai.get());
240        assertEquals(false, ai.compareAndExchangeAcquire(true, true));
241        assertEquals(false, ai.get());
242        assertEquals(false, ai.compareAndExchangeAcquire(false, true));
243        assertEquals(true, ai.get());
244    }
245
246    /**
247     * compareAndExchangeRelease succeeds in changing value if equal to
248     * expected else fails
249     */
250    public void testCompareAndExchangeRelease() {
251        AtomicBoolean ai = new AtomicBoolean(true);
252        assertEquals(true, ai.compareAndExchangeRelease(true, false));
253        assertEquals(false, ai.compareAndExchangeRelease(false, false));
254        assertEquals(false, ai.get());
255        assertEquals(false, ai.compareAndExchangeRelease(true, true));
256        assertEquals(false, ai.get());
257        assertEquals(false, ai.compareAndExchangeRelease(false, true));
258        assertEquals(true, ai.get());
259    }
260
261    /**
262     * repeated weakCompareAndSetVolatile succeeds in changing value when equal
263     * to expected
264     */
265    public void testWeakCompareAndSetVolatile() {
266        AtomicBoolean ai = new AtomicBoolean(true);
267        do {} while (!ai.weakCompareAndSetVolatile(true, false));
268        do {} while (!ai.weakCompareAndSetVolatile(false, false));
269        assertEquals(false, ai.get());
270        do {} while (!ai.weakCompareAndSetVolatile(false, true));
271        assertEquals(true, ai.get());
272    }
273
274    /**
275     * repeated weakCompareAndSetAcquire succeeds in changing value when equal
276     * to expected
277     */
278    public void testWeakCompareAndSetAcquire() {
279        AtomicBoolean ai = new AtomicBoolean(true);
280        do {} while (!ai.weakCompareAndSetAcquire(true, false));
281        do {} while (!ai.weakCompareAndSetAcquire(false, false));
282        assertEquals(false, ai.get());
283        do {} while (!ai.weakCompareAndSetAcquire(false, true));
284        assertEquals(true, ai.get());
285    }
286
287    /**
288     * repeated weakCompareAndSetRelease succeeds in changing value when equal
289     * to expected
290     */
291    public void testWeakCompareAndSetRelease() {
292        AtomicBoolean ai = new AtomicBoolean(true);
293        do {} while (!ai.weakCompareAndSetRelease(true, false));
294        do {} while (!ai.weakCompareAndSetRelease(false, false));
295        assertEquals(false, ai.get());
296        do {} while (!ai.weakCompareAndSetRelease(false, true));
297        assertEquals(true, ai.get());
298    }
299
142   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines