@Override public TestSuite createTestSuite() { withFeatures(KNOWN_ORDER); TestSuite suite = super.createTestSuite(); for (TestSuite subSuite : createDerivedSuites(this)) { suite.addTest(subSuite); } return suite; }
private TestSuite createReserializedSuite(SortedMultisetTestSuiteBuilder<E> parentBuilder) { final TestMultisetGenerator<E> delegate = (TestMultisetGenerator<E>) parentBuilder.getSubjectGenerator(); Set<Feature<?>> features = new HashSet<>(); features.addAll(parentBuilder.getFeatures()); features.remove(SERIALIZABLE); features.remove(SERIALIZABLE_INCLUDING_VIEWS); return SortedMultisetTestSuiteBuilder.using( new ForwardingTestMultisetGenerator<E>(delegate) { @Override public SortedMultiset<E> create(Object... entries) { return SerializableTester.reserialize(((SortedMultiset<E>) super.create(entries))); } }) .named(parentBuilder.getName() + " reserialized") .withFeatures(features) .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite(); }
private TestSuite createDescendingSuite(SortedMultisetTestSuiteBuilder<E> parentBuilder) { final TestMultisetGenerator<E> delegate = (TestMultisetGenerator<E>) parentBuilder.getSubjectGenerator(); Set<Feature<?>> features = new HashSet<>(); features.add(NoRecurse.DESCENDING); features.addAll(parentBuilder.getFeatures()); if (!features.remove(SERIALIZABLE_INCLUDING_VIEWS)) { features.remove(SERIALIZABLE); } return SortedMultisetTestSuiteBuilder.using( new ForwardingTestMultisetGenerator<E>(delegate) { @Override public SortedMultiset<E> create(Object... entries) { return ((SortedMultiset<E>) super.create(entries)).descendingMultiset(); } @Override public Iterable<E> order(List<E> insertionOrder) { return ImmutableList.copyOf(super.order(insertionOrder)).reverse(); } }) .named(parentBuilder.getName() + " descending") .withFeatures(features) .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite(); }
.withFeatures(features) .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite();
@Override protected List<TestSuite> createDerivedSuites( FeatureSpecificTestSuiteBuilder<?, ? extends OneSizeTestContainerGenerator<Collection<E>, E>> parentBuilder) { List<TestSuite> derivedSuites = new ArrayList<>(super.createDerivedSuites(parentBuilder)); derivedSuites.add(createElementSetTestSuite(parentBuilder)); if (!parentBuilder.getFeatures().contains(NoRecurse.NO_ENTRY_SET)) { derivedSuites.add( SetTestSuiteBuilder.using(new EntrySetGenerator<E>(parentBuilder.getSubjectGenerator())) .named(getName() + ".entrySet") .withFeatures(computeEntrySetFeatures(parentBuilder.getFeatures())) .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite()); } if (parentBuilder.getFeatures().contains(CollectionFeature.SERIALIZABLE)) { derivedSuites.add( MultisetTestSuiteBuilder.using( new ReserializedMultisetGenerator<E>(parentBuilder.getSubjectGenerator())) .named(getName() + " reserialized") .withFeatures(computeReserializedMultisetFeatures(parentBuilder.getFeatures())) .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite()); } return derivedSuites; }
TestSuite computeKeysTestSuite( FeatureSpecificTestSuiteBuilder<?, ? extends OneSizeTestContainerGenerator<M, Entry<K, V>>> parentBuilder) { return MultisetTestSuiteBuilder.using( new KeysGenerator<K, V, M>(parentBuilder.getSubjectGenerator())) .withFeatures(computeKeysFeatures(parentBuilder.getFeatures())) .named(parentBuilder.getName() + ".keys") .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite(); }
public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(ForwardingSortedMultisetTest.class); suite.addTest( SortedMultisetTestSuiteBuilder.using( new TestStringMultisetGenerator() { @Override protected Multiset<String> create(String[] elements) { return new StandardImplForwardingSortedMultiset<>( TreeMultiset.create(Arrays.asList(elements))); } @Override public List<String> order(List<String> insertionOrder) { return Ordering.natural().sortedCopy(insertionOrder); } }) .named("ForwardingSortedMultiset with standard impls") .withFeatures( CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, CollectionFeature.GENERAL_PURPOSE, CollectionFeature.ALLOWS_NULL_QUERIES) .createTestSuite()); return suite; }
@GwtIncompatible // suite public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest( MultisetTestSuiteBuilder.using(hashMultisetGenerator()) .withFeatures( CollectionSize.ANY, CollectionFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION, CollectionFeature.ALLOWS_NULL_VALUES, CollectionFeature.SERIALIZABLE, CollectionFeature.GENERAL_PURPOSE, MultisetFeature.ENTRIES_ARE_VIEWS) .named("HashMultiset") .createTestSuite()); suite.addTestSuite(HashMultisetTest.class); return suite; }
@GwtIncompatible // suite public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest( MultisetTestSuiteBuilder.using(enumMultisetGenerator()) .withFeatures( CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, CollectionFeature.GENERAL_PURPOSE, CollectionFeature.SUPPORTS_ITERATOR_REMOVE, CollectionFeature.ALLOWS_NULL_QUERIES, MultisetFeature.ENTRIES_ARE_VIEWS) .named("EnumMultiset") .createTestSuite()); suite.addTestSuite(EnumMultisetTest.class); return suite; }
@GwtIncompatible // suite public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest( MultisetTestSuiteBuilder.using(linkedHashMultisetGenerator()) .named("LinkedHashMultiset") .withFeatures( CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, CollectionFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION, CollectionFeature.ALLOWS_NULL_VALUES, CollectionFeature.SERIALIZABLE, CollectionFeature.GENERAL_PURPOSE, MultisetFeature.ENTRIES_ARE_VIEWS) .createTestSuite()); suite.addTestSuite(LinkedHashMultisetTest.class); return suite; }
public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest( MultisetTestSuiteBuilder.using(concurrentHashMultisetGenerator()) .withFeatures( CollectionSize.ANY, CollectionFeature.GENERAL_PURPOSE, CollectionFeature.SERIALIZABLE, CollectionFeature.ALLOWS_NULL_QUERIES) .named("ConcurrentHashMultiset") .createTestSuite()); suite.addTest( MultisetTestSuiteBuilder.using(concurrentSkipListMultisetGenerator()) .withFeatures( CollectionSize.ANY, CollectionFeature.KNOWN_ORDER, CollectionFeature.GENERAL_PURPOSE, CollectionFeature.SERIALIZABLE, CollectionFeature.ALLOWS_NULL_QUERIES) .named("ConcurrentSkipListMultiset") .createTestSuite()); suite.addTestSuite(ConcurrentHashMultisetTest.class); return suite; }
@GwtIncompatible // suite public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(SimpleAbstractMultisetTest.class); suite.addTest( MultisetTestSuiteBuilder.using( new TestStringMultisetGenerator() { @Override protected Multiset<String> create(String[] elements) { Multiset<String> ms = new NoRemoveMultiset<>(); Collections.addAll(ms, elements); return ms; } }) .named("NoRemoveMultiset") .withFeatures( CollectionSize.ANY, CollectionFeature.ALLOWS_NULL_VALUES, CollectionFeature.SUPPORTS_ADD) .createTestSuite()); return suite; }
CollectionFeature.ALLOWS_NULL_QUERIES) .named("Multisets.unmodifiableMultiset[LinkedHashMultiset]") .createTestSuite()); CollectionFeature.ALLOWS_NULL_QUERIES) .named("Multisets.unmodifiableMultiset[TreeMultiset]") .createTestSuite()); .withFeatures(CollectionSize.ANY, CollectionFeature.ALLOWS_NULL_VALUES) .named("Multisets.union") .createTestSuite()); CollectionFeature.KNOWN_ORDER) .named("Multisets.intersection") .createTestSuite()); .withFeatures(CollectionSize.ANY, CollectionFeature.ALLOWS_NULL_VALUES) .named("Multisets.sum") .createTestSuite()); CollectionFeature.KNOWN_ORDER) .named("Multisets.difference") .createTestSuite()); CollectionFeature.SUPPORTS_REMOVE) .named("Multiset.filter[Multiset, Predicate]") .createTestSuite());
MultisetFeature.ENTRIES_ARE_VIEWS) .named("TreeMultiset, Ordering.natural") .createTestSuite()); suite.addTest( SortedMultisetTestSuiteBuilder.using( MultisetFeature.ENTRIES_ARE_VIEWS) .named("TreeMultiset, NullsBeforeB") .createTestSuite()); suite.addTest( NavigableSetTestSuiteBuilder.using(
CollectionFeature.ALLOWS_NULL_VALUES, CollectionFeature.GENERAL_PURPOSE) .createTestSuite()); suite.addTest( MultisetTestSuiteBuilder.using( .named("ForwardingMultiset[ImmutableMultiset] with standard " + "implementations") .withFeatures(CollectionSize.ANY, CollectionFeature.ALLOWS_NULL_QUERIES) .createTestSuite()); suite.addTest( SetTestSuiteBuilder.using(
CollectionFeature.SERIALIZABLE_INCLUDING_VIEWS, CollectionFeature.ALLOWS_NULL_QUERIES) .createTestSuite());
CollectionFeature.SERIALIZABLE_INCLUDING_VIEWS, CollectionFeature.ALLOWS_NULL_QUERIES) .createTestSuite()); CollectionFeature.SERIALIZABLE_INCLUDING_VIEWS, CollectionFeature.ALLOWS_NULL_QUERIES) .createTestSuite());
.suppressing(getForEachEntryDuplicateInitializingMethods()) .suppressing(getElementSetDuplicateInitializingMethods()) .createTestSuite());
@Override public TestSuite createTestSuite() { withFeatures(KNOWN_ORDER); TestSuite suite = super.createTestSuite(); for (TestSuite subSuite : createDerivedSuites(this)) { suite.addTest(subSuite); } return suite; }
TestSuite computeKeysTestSuite( FeatureSpecificTestSuiteBuilder<?, ? extends OneSizeTestContainerGenerator<M, Entry<K, V>>> parentBuilder) { return MultisetTestSuiteBuilder.using( new KeysGenerator<K, V, M>(parentBuilder.getSubjectGenerator())) .withFeatures(computeKeysFeatures(parentBuilder.getFeatures())) .named(parentBuilder.getName() + ".keys") .suppressing(parentBuilder.getSuppressedTests()) .createTestSuite(); }