@CollectionSize.Require(absent = ZERO) @MapFeature.Require(SUPPORTS_REMOVE) public void testPropagatesClearToMultimap() { Collection<V> result = multimap().asMap().get(k0()); result.clear(); assertGet(k0()); assertEmpty(result); }
@CollectionSize.Require(absent = ZERO) @MapFeature.Require(SUPPORTS_PUT) public void testPropagatesAddToMultimap() { Collection<V> result = multimap().asMap().get(k0()); result.add(v3()); assertContentsAnyOrder(multimap().get(k0()), v0(), v3()); }
@CollectionSize.Require(SEVERAL) @MapFeature.Require({SUPPORTS_PUT, SUPPORTS_REMOVE}) public void testAsMapEntrySetRemovePropagatesToMultimap() { resetContainer(Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k0(), v3())); Set<Entry<K, Collection<V>>> asMapEntrySet = multimap().asMap().entrySet(); Entry<K, Collection<V>> asMapEntry0 = Iterables.getOnlyElement(asMapEntrySet); assertTrue(multimap().put(k1(), v4())); assertTrue(asMapEntrySet.remove(asMapEntry0)); assertEquals(1, multimap().size()); assertContentsInOrder(multimap().keySet(), k1()); }
@CollectionFeature.Require(ALLOWS_NULL_VALUES) @CollectionSize.Require(absent = ZERO) public void testContains_nullContained() { initCollectionWithNullElement(); assertTrue("contains(null) should return true", collection.contains(null)); }
@CollectionFeature.Require(ALLOWS_NULL_VALUES) @CollectionSize.Require(absent = ZERO) public void testContains_nonNullWhenNullContained() { initCollectionWithNullElement(); assertFalse("contains(notPresent) should return false", collection.contains(e3())); }
@CollectionSize.Require(absent = ZERO) public void testContainsAll_subset() { assertTrue( "containsAll(subset) should return true", collection.containsAll(MinimalCollection.of(e0()))); }
@ListFeature.Require(absent = SUPPORTS_ADD_WITH_INDEX) @CollectionSize.Require(absent = ZERO) public void testAddAllAtIndex_unsupportedSomePresent() { try { getList().addAll(0, MinimalCollection.of(e0(), e3())); fail("addAll(n, allPresent) should throw"); } catch (UnsupportedOperationException expected) { } expectUnchanged(); expectMissing(e3()); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(absent = SUPPORTS_REMOVE) public void testSetCount_threeToOne_unsupported() { initThreeCopies(); assertSetCountDecreasingFailure(e0(), 1); }
@CollectionFeature.Require({SUPPORTS_REMOVE, FAILS_FAST_ON_CONCURRENT_MODIFICATION}) @CollectionSize.Require(absent = ZERO) public void testSetCountOneToZeroConcurrentWithEntrySetIteration() { try { Iterator<Entry<E>> iterator = getMultiset().entrySet().iterator(); assertSetCount(e0(), 0); iterator.next(); fail("Expected ConcurrentModificationException"); } catch (ConcurrentModificationException expected) { // success } }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(absent = SUPPORTS_ADD) public void testSetCount_oneToThree_unsupported() { assertSetCountIncreasingFailure(e3(), 3); }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(absent = {SUPPORTS_ADD, SUPPORTS_REMOVE}) public void testSetCount_oneToOne_unsupported() { try { assertOneToOne(); } catch (UnsupportedOperationException tolerated) { } }
@CollectionFeature.Require(SUPPORTS_REMOVE) @CollectionSize.Require(absent = ZERO) public void testRemoveAll_nullCollectionReferenceNonEmptySubject() { try { collection.removeAll(null); fail("removeAll(null) should throw NullPointerException"); } catch (NullPointerException expected) { } }
@MapFeature.Require(absent = SUPPORTS_PUT) @CollectionSize.Require(absent = ZERO) public void testComputeIfPresent_unsupportedPresent() { try { getMap().computeIfPresent(k0(), (k, v) -> v3()); fail("Expected UnsupportedOperationException"); } catch (UnsupportedOperationException expected) { } expectUnchanged(); } }
@CollectionSize.Require(absent = ZERO) public void testElementSet_contains() { assertTrue( "multiset.elementSet().contains(present) returned false", getMultiset().elementSet().contains(e0())); }
@MapFeature.Require(value = SUPPORTS_PUT, absent = ALLOWS_NULL_VALUES) @CollectionSize.Require(absent = ZERO) public void testSetValueNullUnsupported() { for (Entry<K, V> entry : getMap().entrySet()) { try { entry.setValue(null); fail("Expected NullPointerException"); } catch (NullPointerException expected) { } expectUnchanged(); } }
@CollectionFeature.Require(SUPPORTS_REMOVE) @CollectionSize.Require(absent = ZERO) public void testRetainAll_nullSingletonPreviouslyNonEmpty() { expectReturnsTrue(nullSingleton); expectContents(); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_ADD) public void testAddOutOfHeadBoundsOne() { expectAddFailure(sortedMultiset.headMultiset(a.getElement(), OPEN), a); }
@CollectionFeature.Require(ALLOWS_NULL_VALUES) @CollectionSize.Require(absent = ZERO) public void testSpliteratorNullable() { initCollectionWithNullElement(); synchronized (collection) { // for Collections.synchronized assertFalse(collection.spliterator().hasCharacteristics(Spliterator.NONNULL)); } }
@CollectionFeature.Require(value = {SUPPORTS_ADD, ALLOWS_NULL_VALUES}) @CollectionSize.Require(absent = ZERO) public void testAdd_supportedNullPresent() { E[] array = createArrayWithNullElement(); collection = getSubjectGenerator().create(array); assertTrue("add(nullPresent) should return true", getList().add(null)); List<E> expected = Helpers.copyToList(array); expected.add(null); expectContents(expected); }
@SuppressWarnings("unchecked") @MapFeature.Require(SUPPORTS_PUT) @CollectionSize.Require(ONE) public void testForcePutKeyPresent() { getMap().forcePut(k0(), v1()); expectContents(Helpers.mapEntry(k0(), v1())); assertFalse(getMap().containsValue(v0())); assertNull(getMap().inverse().get(v0())); assertEquals(1, getMap().size()); assertTrue(getMap().containsKey(k0())); }