1e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak/*
2e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Written by Doug Lea and Martin Buchholz with assistance from
3e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * members of JCP JSR-166 Expert Group and released to the public
4e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * domain, as explained at
5e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * http://creativecommons.org/publicdomain/zero/1.0/
6e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */
7e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
8e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniakpackage jsr166;
9e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
10e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniakimport java.util.Collection;
11e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
12e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniakimport junit.framework.Test;
13e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
14e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak/**
15e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Contains tests applicable to all Collection implementations.
16e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */
17b30ea05f8b793a5dd781bf45aff6319b0938a299Nicholas Sauer// Android-changed: Made class abstract so it will be ignored by test runners.
18b30ea05f8b793a5dd781bf45aff6319b0938a299Nicholas Sauerabstract class CollectionTest extends JSR166TestCase {
19e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    final CollectionImplementation impl;
20e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
21e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    /** Tests are parameterized by a Collection implementation. */
22e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    CollectionTest(CollectionImplementation impl, String methodName) {
23e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak        super(methodName);
24e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak        this.impl = impl;
25e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    }
26e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
27e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    public static Test testSuite(CollectionImplementation impl) {
28e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak        return newTestSuite
29e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak            (parameterizedTestSuite(CollectionTest.class,
30e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak                                    CollectionImplementation.class,
31e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak                                    impl),
32e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak             jdk8ParameterizedTestSuite(CollectionTest.class,
33e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak                                        CollectionImplementation.class,
34e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak                                        impl));
35e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    }
36e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
37e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    /** A test of the CollectionImplementation implementation ! */
38e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    public void testEmptyMeansEmpty() {
39e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak        assertTrue(impl.emptyCollection().isEmpty());
40e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak        assertEquals(0, impl.emptyCollection().size());
41e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    }
42e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak
43e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak    // public void testCollectionDebugFail() { fail(); }
44e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak}
45