6 |
|
* Pat Fisher, Mike Judd. |
7 |
|
*/ |
8 |
|
|
9 |
– |
import junit.framework.*; |
9 |
|
import java.util.concurrent.atomic.AtomicLongFieldUpdater; |
10 |
|
|
11 |
+ |
import junit.framework.Test; |
12 |
+ |
import junit.framework.TestSuite; |
13 |
+ |
|
14 |
|
public class AtomicLongFieldUpdaterTest extends JSR166TestCase { |
15 |
|
volatile long x = 0; |
16 |
|
int z; |
35 |
|
try { |
36 |
|
updaterFor("y"); |
37 |
|
shouldThrow(); |
38 |
< |
} catch (RuntimeException success) {} |
38 |
> |
} catch (RuntimeException success) { |
39 |
> |
assertNotNull(success.getCause()); |
40 |
> |
} |
41 |
|
} |
42 |
|
|
43 |
|
/** |
44 |
< |
* construction with field not of given type throws RuntimeException |
44 |
> |
* construction with field not of given type throws IllegalArgumentException |
45 |
|
*/ |
46 |
|
public void testConstructor2() { |
47 |
|
try { |
48 |
|
updaterFor("z"); |
49 |
|
shouldThrow(); |
50 |
< |
} catch (RuntimeException success) {} |
50 |
> |
} catch (IllegalArgumentException success) {} |
51 |
|
} |
52 |
|
|
53 |
|
/** |
54 |
< |
* construction with non-volatile field throws RuntimeException |
54 |
> |
* construction with non-volatile field throws IllegalArgumentException |
55 |
|
*/ |
56 |
|
public void testConstructor3() { |
57 |
|
try { |
58 |
|
updaterFor("w"); |
59 |
|
shouldThrow(); |
60 |
< |
} catch (RuntimeException success) {} |
60 |
> |
} catch (IllegalArgumentException success) {} |
61 |
|
} |
62 |
|
|
63 |
|
/** |