.createTestSuite());
// TODO: use collection testers on Multimaps.forMap.values
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap = HashMultimap.create();
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
})
.named("HashMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap
= LinkedHashMultimap.create();
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
})
.named("LinkedHashMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE_ORDER)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap
= TreeMultimap.create(Ordering.natural().nullsFirst(),
Ordering.natural().nullsLast());
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
@Override public List<String> order(List<String> insertionOrder) {
Collections.sort(insertionOrder, Ordering.natural().nullsFirst());
return insertionOrder;
}
})
.named("TreeMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE_ORDER)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap
= ArrayListMultimap.create();
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
})
.named("ArrayListMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap
= Multimaps.synchronizedListMultimap(
ArrayListMultimap.<String, Integer>create());
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
})
.named("synchronized ArrayListMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
Multimap<String, Integer> multimap
= LinkedListMultimap.create();
populateMultimapForKeys(multimap, elements);
return multimap.keys();
}
})
.named("LinkedListMultimap.keys")
.withFeatures(COLLECTION_FEATURES_REMOVE_ORDER)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
ImmutableListMultimap.Builder<String, Integer> builder
= ImmutableListMultimap.builder();
for (int i = 0; i < elements.length; i++) {
builder.put(elements[i], i);
}
Multimap<String, Integer> multimap = builder.build();
return multimap.keys();
}
})
.named("ImmutableListMultimap.keys")
.withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER)
.createTestSuite());
suite.addTest(MultisetTestSuiteBuilder.using(
new TestStringMultisetGenerator() {
@Override protected Multiset<String> create(String[] elements) {
PopulatableMapAsMultimap<String, Integer> multimap
= PopulatableMapAsMultimap.create();
populateMultimapForKeys(multimap, elements);
return multimap.build().keys();