Home | History | Annotate | Download | only in google
      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