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

# User Rev Content
1 jsr166 1.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 jsr166 1.6 import java.util.Arrays;
10 jsr166 1.2 import java.util.List;
11 jsr166 1.1
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 jsr166 1.2 public List emptyCollection() { return new ArrayList(); }
23 dl 1.8 public Object makeElement(int i) { return JSR166TestCase.itemFor(i); }
24 jsr166 1.1 public boolean isConcurrent() { return false; }
25     public boolean permitsNulls() { return true; }
26     }
27 jsr166 1.2 class SubListImplementation extends Implementation {
28     public List emptyCollection() {
29     return super.emptyCollection().subList(0, 0);
30     }
31     }
32 jsr166 1.4 return newTestSuite(
33 jsr166 1.7 ArrayListTest.class,
34 jsr166 1.2 CollectionTest.testSuite(new Implementation()),
35 jsr166 1.4 CollectionTest.testSuite(new SubListImplementation()));
36 jsr166 1.1 }
37    
38 jsr166 1.6 /**
39     * A cloned list equals original
40     */
41     public void testClone() throws Exception {
42 dl 1.8 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 jsr166 1.6
49     assertNotSame(y, x);
50 dl 1.8 mustEqual(x, y);
51     mustEqual(y, x);
52     mustEqual(x.size(), y.size());
53     mustEqual(x.toString(), y.toString());
54 jsr166 1.6 assertTrue(Arrays.equals(x.toArray(), y.toArray()));
55     while (!x.isEmpty()) {
56     assertFalse(y.isEmpty());
57 dl 1.8 mustEqual(x.remove(0), y.remove(0));
58 jsr166 1.6 }
59     assertTrue(y.isEmpty());
60     }
61    
62 jsr166 1.1 }