ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ArrayListTest.java
Revision: 1.8
Committed: Tue Jan 26 13:33:05 2021 UTC (3 years, 3 months ago) by dl
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +12 -11 lines
Log Message:
Replace Integer with Item class

File Contents

# Content
1 /*
2 * Written by Doug Lea and Martin Buchholz with assistance from
3 * members of JCP JSR-166 Expert Group and released to the public
4 * domain, as explained at
5 * http://creativecommons.org/publicdomain/zero/1.0/
6 */
7
8 import java.util.ArrayList;
9 import java.util.Arrays;
10 import java.util.List;
11
12 import junit.framework.Test;
13
14 public class ArrayListTest extends JSR166TestCase {
15 public static void main(String[] args) {
16 main(suite(), args);
17 }
18
19 public static Test suite() {
20 class Implementation implements CollectionImplementation {
21 public Class<?> klazz() { return ArrayList.class; }
22 public List emptyCollection() { return new ArrayList(); }
23 public Object makeElement(int i) { return JSR166TestCase.itemFor(i); }
24 public boolean isConcurrent() { return false; }
25 public boolean permitsNulls() { return true; }
26 }
27 class SubListImplementation extends Implementation {
28 public List emptyCollection() {
29 return super.emptyCollection().subList(0, 0);
30 }
31 }
32 return newTestSuite(
33 ArrayListTest.class,
34 CollectionTest.testSuite(new Implementation()),
35 CollectionTest.testSuite(new SubListImplementation()));
36 }
37
38 /**
39 * A cloned list equals original
40 */
41 public void testClone() throws Exception {
42 ArrayList<Item> x = new ArrayList<>();
43 x.add(one);
44 x.add(two);
45 x.add(three);
46 @SuppressWarnings("unchecked")
47 ArrayList<Item> y = (ArrayList<Item>) x.clone();
48
49 assertNotSame(y, x);
50 mustEqual(x, y);
51 mustEqual(y, x);
52 mustEqual(x.size(), y.size());
53 mustEqual(x.toString(), y.toString());
54 assertTrue(Arrays.equals(x.toArray(), y.toArray()));
55 while (!x.isEmpty()) {
56 assertFalse(y.isEmpty());
57 mustEqual(x.remove(0), y.remove(0));
58 }
59 assertTrue(y.isEmpty());
60 }
61
62 }