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;
021import org.junit.Ignore;
022
023/**
024 * Tests {@link java.util.Collection#equals}.
025 *
026 * @author George van den Driessche
027 */
028@GwtCompatible
029@Ignore("test runners must not instantiate and run this directly, only via suites we build")
030// @Ignore affects the Android test runner, which respects JUnit 4 annotations on JUnit 3 tests.
031@SuppressWarnings("JUnit4ClassUsedInJUnit3")
032public class CollectionEqualsTester<E> extends AbstractCollectionTester<E> {
033
034  // TODO(cpovirk): Consider using EqualsTester from Guava.
035  @SuppressWarnings("SelfEquals")
036  public void testEquals_self() {
037    assertTrue("An Object should be equal to itself.", collection.equals(collection));
038  }
039
040  public void testEquals_null() {
041    // noinspection ObjectEqualsNull
042    assertFalse("An object should not be equal to null.", collection.equals(null));
043  }
044
045  public void testEquals_notACollection() {
046    // noinspection EqualsBetweenInconvertibleTypes
047    assertFalse(
048        "A Collection should never equal an object that is not a Collection.",
049        collection.equals("huh?"));
050  }
051}