11d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert/* 21d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Copyright (C) 2008 The Guava Authors 31d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * 41d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 51d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * you may not use this file except in compliance with the License. 61d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * You may obtain a copy of the License at 71d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * 81d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 91d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * 101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * See the License for the specific language governing permissions and 141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * limitations under the License. 151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert */ 161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 171d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertpackage com.google.common.collect; 181d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 191d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.annotations.GwtIncompatible; 201d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.ListTestSuiteBuilder; 211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.SetTestSuiteBuilder; 221d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.TestStringSetGenerator; 231d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.TestStringSortedSetGenerator; 241d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.features.CollectionFeature; 251d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.features.CollectionSize; 261d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.DegeneratedImmutableSetGenerator; 271d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSetAsListGenerator; 281d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSetCopyOfGenerator; 291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSetWithBadHashesGenerator; 301d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetAsListGenerator; 311d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetAsListSubListGenerator; 321d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetCopyOfGenerator; 331d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetExplicitComparator; 341d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetExplicitSuperclassComparatorGenerator; 351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetHeadsetGenerator; 361d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetReversedOrderGenerator; 371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetSubsetAsListGenerator; 381d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetSubsetGenerator; 391d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetTailsetGenerator; 401d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedSetUnhashableGenerator; 411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.google.SetGenerators.ImmutableSortedsetSubsetAsListSubListGenerator; 421d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.collect.testing.testers.SetHashCodeTester; 431d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport com.google.common.testing.SerializableTester; 441d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 451d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport junit.framework.Test; 461d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport junit.framework.TestCase; 471d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport junit.framework.TestSuite; 481d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 491d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport java.util.List; 501d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport java.util.Set; 511d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertimport java.util.SortedSet; 521d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 531d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert/** 541d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Collection tests for {@link ImmutableSet} and {@link ImmutableSortedSet}. 551d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * 561d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * @author Kevin Bourrillion 571d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * @author Jared Levy 581d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert */ 591d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert@GwtIncompatible("suite") // handled by collect/gwt/suites 601d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertpublic class ImmutableSetCollectionTest extends TestCase { 611d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert public static Test suite() { 621d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert TestSuite suite = new TestSuite(); 631d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 641d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using(new ImmutableSetCopyOfGenerator()) 651d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSetTest.class.getName()) 661d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 671d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 681d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 691d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 701d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using(new TestStringSetGenerator() { 711d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert @Override protected Set<String> create(String[] elements) { 721d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert Set<String> set = ImmutableSet.copyOf(elements); 731d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return SerializableTester.reserialize(set); 741d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 751d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert }) 761d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSetTest.class.getName() + ", reserialized") 771d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 781d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 791d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 801d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 811d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 821d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSetWithBadHashesGenerator()) 831d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSetTest.class.getName() + ", with bad hashes") 841d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 851d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 861d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 871d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 881d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 891d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new DegeneratedImmutableSetGenerator()) 901d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSetTest.class.getName() + ", degenerate") 911d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ONE, CollectionFeature.KNOWN_ORDER, 921d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 931d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 941d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 951d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 961d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetCopyOfGenerator()) 971d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName()) 981d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 991d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1001d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1011d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1021d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using(new TestStringSortedSetGenerator() { 1031d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert @Override protected SortedSet<String> create(String[] elements) { 1041d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert SortedSet<String> set = ImmutableSortedSet.copyOf(elements); 1051d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return SerializableTester.reserialize(set); 1061d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 1071d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert }) 1081d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() + ", reserialized") 1091d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetHeadsetGenerator()) 1151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() + ", headset") 1161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1171d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1181d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1191d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1201d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetTailsetGenerator()) 1221d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() + ", tailset") 1231d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1241d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1251d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1261d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1271d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1281d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetSubsetGenerator()) 1291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() + ", subset") 1301d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1311d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1321d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1331d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1341d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new TestStringSortedSetGenerator() { 1361d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert @Override protected SortedSet<String> create(String[] elements) { 1371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert List<String> list = Lists.newArrayList(elements); 1381d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert list.add("zzz"); 1391d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return SerializableTester.reserialize( 1401d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSet.copyOf(list).headSet("zzy")); 1411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 1421d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert }) 1431d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named( 1441d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSetTest.class.getName() + ", headset, reserialized") 1451d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1461d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1471d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1481d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1491d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1501d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new TestStringSortedSetGenerator() { 1511d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert @Override protected SortedSet<String> create(String[] elements) { 1521d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert List<String> list = Lists.newArrayList(elements); 1531d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert list.add("\0"); 1541d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return SerializableTester.reserialize( 1551d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSet.copyOf(list).tailSet("\0\0")); 1561d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 1571d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert }) 1581d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named( 1591d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSetTest.class.getName() + ", tailset, reserialized") 1601d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1611d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1621d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1631d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1641d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1651d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new TestStringSortedSetGenerator() { 1661d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert @Override protected SortedSet<String> create(String[] elements) { 1671d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert List<String> list = Lists.newArrayList(elements); 1681d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert list.add("\0"); 1691d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert list.add("zzz"); 1701d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return SerializableTester.reserialize( 1711d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSet.copyOf(list).subSet("\0\0", "zzy")); 1721d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 1731d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert }) 1741d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named( 1751d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert ImmutableSortedSetTest.class.getName() + ", subset, reserialized") 1761d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1771d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1781d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1791d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1801d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1811d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetExplicitComparator()) 1821d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() 1831d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert + ", explicit comparator, vararg") 1841d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1851d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1861d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1871d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1881d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1891d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetExplicitSuperclassComparatorGenerator()) 1901d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() 1911d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert + ", explicit superclass comparator, iterable") 1921d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 1931d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 1941d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 1951d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 1961d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 1971d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetReversedOrderGenerator()) 1981d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() 1991d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert + ", reverseOrder, iterator") 2001d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 2011d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2021d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2031d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2041d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(SetTestSuiteBuilder.using( 2051d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetUnhashableGenerator()) 2061d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .suppressing(SetHashCodeTester.getHashCodeMethods()) 2071d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named(ImmutableSortedSetTest.class.getName() + ", unhashable") 2081d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, 2091d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(ListTestSuiteBuilder.using(new ImmutableSetAsListGenerator()) 2131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named("ImmutableSet.asList") 2141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, 2151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.REJECTS_DUPLICATES_AT_CREATION, 2161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2171d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2181d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2191d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(ListTestSuiteBuilder.using( 2201d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetAsListGenerator()) 2211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named("ImmutableSortedSet.asList") 2221d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, 2231d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.REJECTS_DUPLICATES_AT_CREATION, 2241d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2251d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2261d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2271d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(ListTestSuiteBuilder.using( 2281d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetSubsetAsListGenerator()) 2291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named("ImmutableSortedSet.subSet.asList") 2301d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, 2311d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.REJECTS_DUPLICATES_AT_CREATION, 2321d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2331d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2341d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(ListTestSuiteBuilder.using( 2361d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedSetAsListSubListGenerator()) 2371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named("ImmutableSortedSet.asList.subList") 2381d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, 2391d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.REJECTS_DUPLICATES_AT_CREATION, 2401d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2421d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2431d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert suite.addTest(ListTestSuiteBuilder.using( 2441d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert new ImmutableSortedsetSubsetAsListSubListGenerator()) 2451d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .named("ImmutableSortedSet.subSet.asList.subList") 2461d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .withFeatures(CollectionSize.ANY, 2471d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.REJECTS_DUPLICATES_AT_CREATION, 2481d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert CollectionFeature.ALLOWS_NULL_QUERIES) 2491d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert .createTestSuite()); 2501d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert 2511d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert return suite; 2521d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert } 2531d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert} 254