Coverage Summary for Class: ListHashCodeTester (com.google.common.collect.testing.testers)

Class Class, % Method, % Line, %
ListHashCodeTester 100% (1/1) 66.7% (2/3) 88.9% (8/9)


1 /* 2  * Copyright (C) 2008 The Guava Authors 3  * 4  * Licensed under the Apache License, Version 2.0 (the "License"); 5  * you may not use this file except in compliance with the License. 6  * You may obtain a copy of the License at 7  * 8  * http://www.apache.org/licenses/LICENSE-2.0 9  * 10  * Unless required by applicable law or agreed to in writing, software 11  * distributed under the License is distributed on an "AS IS" BASIS, 12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13  * See the License for the specific language governing permissions and 14  * limitations under the License. 15  */ 16  17 package com.google.common.collect.testing.testers; 18  19 import com.google.common.annotations.GwtCompatible; 20 import com.google.common.annotations.GwtIncompatible; 21 import com.google.common.collect.testing.Helpers; 22 import java.lang.reflect.Method; 23 import org.junit.Ignore; 24  25 /** 26  * Tests {@link java.util.List#hashCode}. 27  * 28  * @author George van den Driessche 29  */ 30 @GwtCompatible(emulated = true) 31 @Ignore // Affects only Android test runner, which respects JUnit 4 annotations on JUnit 3 tests. 32 public class ListHashCodeTester<E> extends AbstractListTester<E> { 33  public void testHashCode() { 34  int expectedHashCode = 1; 35  for (E element : getOrderedElements()) { 36  expectedHashCode = 31 * expectedHashCode + ((element == null) ? 0 : element.hashCode()); 37  } 38  assertEquals( 39  "A List's hashCode() should be computed from those of its elements.", 40  expectedHashCode, 41  getList().hashCode()); 42  } 43  44  /** 45  * Returns the {@link Method} instance for {@link #testHashCode()} so that list tests on 46  * unhashable objects can suppress it with {@code FeatureSpecificTestSuiteBuilder.suppressing()}. 47  */ 48  @GwtIncompatible // reflection 49  public static Method getHashCodeMethod() { 50  return Helpers.getMethod(ListHashCodeTester.class, "testHashCode"); 51  } 52 }