Project Report: fawkez

Packagesummary org.jcoderz.commons.util

org.jcoderz.commons.util.HashCodeUtilTest

LineHitsNoteSource
1  /*
2   * $Id: HashCodeUtilTest.java 1011 2008-06-16 17:57:36Z amandel $
3   *
4   * Copyright 2006, The jCoderZ.org Project. All rights reserved.
5   *
6   * Redistribution and use in source and binary forms, with or without
7   * modification, are permitted provided that the following conditions are
8   * met:
9   *
10   *    * Redistributions of source code must retain the above copyright
11   *      notice, this list of conditions and the following disclaimer.
12   *    * Redistributions in binary form must reproduce the above
13   *      copyright notice, this list of conditions and the following
14   *      disclaimer in the documentation and/or other materials
15   *      provided with the distribution.
16   *    * Neither the name of the jCoderZ.org Project nor the names of
17   *      its contributors may be used to endorse or promote products
18   *      derived from this software without specific prior written
19   *      permission.
20   *
21   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
22   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24   * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
25   * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28   * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30   * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   */
33  package org.jcoderz.commons.util;
34  
35  import junit.framework.TestCase;
36  
37  /**
38   * JUnit test for the class {@link org.jcoderz.commons.util.HashCodeUtil}.
39   *
40   * @author Michael Griffel
41   */
42100 public class HashCodeUtilTest
43        extends TestCase
44  {
45     private static final double DOUBLE_TEST_3 = -1.1d;
46     private static final double DOUBLE_TEST_2 = 0.0d;
47     private static final double DOUBLE_TEST_1 = 1.1d;
48     private static final double FLOAT_TEST_3 = -1.1;
49     private static final double FLOAT_TEST_2 = 0.0;
50     private static final double FLOAT_TEST_1 = 1.1;
51     /**
52      * Test the method {@link HashCodeUtil#hash}.
53      */
54     public void testHashCode ()
55     {
56100       final int hashCode = HashCodeUtil.SEED;
57  
58100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, true));
59100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, false));
60  
61100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, 1));
62100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, 0));
63100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, -1));
64  
65100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, 1L));
66100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, 0L));
67100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, -1L));
68  
69100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, 'c'));
70  
71100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, null));
72100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, "foo"));
73100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, ""));
74  
75100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, FLOAT_TEST_1));
76100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, FLOAT_TEST_2));
77100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, FLOAT_TEST_3));
78  
79100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, DOUBLE_TEST_1));
80100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, DOUBLE_TEST_2));
81100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, DOUBLE_TEST_3));
82  
83100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode, new Object[]{}));
84  
85100       assertNotEquals(hashCode, HashCodeUtil.hash(hashCode,
86              new Object[]{"foo", "bar"}));
87100    }
88  
89     /**
90      * Asserts that the expected value is equals the current value.
91      * @param expectedValue expected value
92      * @param currentValue current value
93      */
94     private void assertNotEquals (int expectedValue, int currentValue)
95     {
9675(1)      assertFalse("hashcode should be changed, but is equals " + expectedValue,
97              expectedValue == currentValue);
98  
99100    }
100  }

Findings in this File

c (1) 96 : 7 Use assertSame(x, y) instead of assertTrue(x==y), or assertNotSame(x,y) vs assertFalse(x==y)