/* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.common.util; import java.util.Random; import com.facebook.common.internal.Objects; import com.facebook.testing.robolectric.v2.WithTestDefaultsRunner; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.assertEquals; @RunWith(WithTestDefaultsRunner.class) public class HashCodeUtilTest { @Test public void testSimple() { testCase(1, 2, 3, 4, 5, 6); } @Test public void testRandom() { Random generator = new Random(123); testCase( generator.nextInt(), generator.nextInt(), generator.nextInt(), generator.nextInt(), generator.nextInt(), generator.nextInt()); } @Test public void testNull() { testCase(1, null, 3, 4, 5, 6); } private void testCase(Object o1, Object o2, Object o3, Object o4, Object o5, Object o6) { assertEquals( Objects.hashCode(o1), HashCodeUtil.hashCode(o1)); assertEquals( Objects.hashCode(o1, o2), HashCodeUtil.hashCode(o1, o2)); assertEquals( Objects.hashCode(o1, o2, o3), HashCodeUtil.hashCode(o1, o2, o3)); assertEquals( Objects.hashCode(o1, o2, o3, o4), HashCodeUtil.hashCode(o1, o2, o3, o4)); assertEquals( Objects.hashCode(o1, o2, o3, o4, o5), HashCodeUtil.hashCode(o1, o2, o3, o4, o5)); assertEquals( Objects.hashCode(o1, o2, o3, o4, o5, o6), HashCodeUtil.hashCode(o1, o2, o3, o4, o5, o6)); } }