001/*
002 * Copyright (C) 2007 The Guava Authors
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017package com.google.common.collect.testing.testers;
018
019import com.google.common.annotations.GwtCompatible;
020import com.google.common.collect.testing.AbstractCollectionTester;
021
022/**
023 * Tests {@link java.util.Collection#equals}.
024 *
025 * @author George van den Driessche
026 */
027@GwtCompatible
028public class CollectionEqualsTester<E> extends AbstractCollectionTester<E> {
029
030  @SuppressWarnings({
031    "SelfEquals", // TODO(cpovirk): Consider using EqualsTester from Guava.
032    "UndefinedEquals", // Comparisons of an object to itself *are* defined.
033  })
034  public void testEquals_self() {
035    assertTrue("An Object should be equal to itself.", collection.equals(collection));
036  }
037
038  // Comparisons to null *are* defined.
039  @SuppressWarnings("UndefinedEquals")
040  public void testEquals_null() {
041    // noinspection ObjectEqualsNull
042    assertFalse("An object should not be equal to null.", collection.equals(null));
043  }
044
045  // A collection should essentially never be equal to a non-collection.
046  @SuppressWarnings("UndefinedEquals")
047  public void testEquals_notACollection() {
048    // noinspection EqualsBetweenInconvertibleTypes
049    assertFalse(
050        "A Collection should never equal an object that is not a Collection.",
051        collection.equals("huh?"));
052  }
053}