1 /* 2 * Copyright (C) 2013 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 15 package com.google.common.collect.testing.google; 16 17 import static com.google.common.collect.testing.features.CollectionFeature.ALLOWS_NULL_VALUES; 18 import static com.google.common.collect.testing.features.CollectionSize.ZERO; 19 20 import com.google.common.annotations.GwtCompatible; 21 import com.google.common.collect.testing.features.CollectionFeature; 22 import com.google.common.collect.testing.features.CollectionSize; 23 import com.google.common.testing.EqualsTester; 24 25 /** 26 * Tests for {@code Multiset.equals} and {@code Multiset.hashCode}. 27 * 28 * @author Louis Wasserman 29 */ 30 @GwtCompatible 31 public class MultisetEqualsTester<E> extends AbstractMultisetTester<E> { 32 public void testEqualsSameContents() { 33 new EqualsTester() 34 .addEqualityGroup( 35 getMultiset(), 36 getSubjectGenerator().create(getSampleElements().toArray())) 37 .testEquals(); 38 } 39 40 @CollectionSize.Require(absent = ZERO) 41 public void testNotEqualsEmpty() { 42 new EqualsTester() 43 .addEqualityGroup(getMultiset()) 44 .addEqualityGroup(getSubjectGenerator().create()) 45 .testEquals(); 46 } 47 48 public void testHashCodeMatchesEntrySet() { 49 assertEquals(getMultiset().entrySet().hashCode(), getMultiset().hashCode()); 50 } 51 52 @CollectionSize.Require(absent = ZERO) 53 @CollectionFeature.Require(ALLOWS_NULL_VALUES) 54 public void testEqualsMultisetWithNullValue() { 55 new EqualsTester() 56 .addEqualityGroup(getMultiset()) 57 .addEqualityGroup( 58 getSubjectGenerator().create(createArrayWithNullElement()), 59 getSubjectGenerator().create(createArrayWithNullElement())) 60 .testEquals(); 61 } 62 } 63