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