Project Report: fawkez

Packagesummary org.jcoderz.commons.util

org.jcoderz.commons.util.HashCodeTest

LineHitsNoteSource
1  /*
2   * $Id: HashCodeTest.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 java.util.Collections;
36  import junit.framework.TestCase;
37  
38  /**
39   * JUnit tests for class {@link org.jcoderz.commons.util.HashCode}.
40   *
41   * @author Michael Griffel
42   */
43100 public class HashCodeTest
44        extends TestCase
45  {
46     /**
47      * Tests the method {@link org.jcoderz.commons.util.HashCode#toInt()}.
48      */
49     public void testToInt ()
50     {
51100       final HashCode hashCode = new HashCode();
52100       hashCode.hash(Constants.BITS_PER_INTEGER);
53100       hashCode.hash("string");
54100       assertEquals("toInt should not modify the hashCode",
55              hashCode.toInt(), hashCode.toInt());
56100    }
57  
58     /**
59      * Tests the method {@link org.jcoderz.commons.util.HashCode#toInt()}.
60      */
61     public void testToIntInitialValue ()
62     {
63100       final HashCode hashCode = new HashCode();
64100       assertEquals("toInt should be initialized to an initial prime number",
65              HashCodeUtil.SEED, hashCode.toInt());
66  
67100    }
68  
69     /**
70      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(boolean)}.
71      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(char)}.
72      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(double)}.
73      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(float)}.
74      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(int)}.
75      * Tests the method {@link org.jcoderz.commons.util.HashCode#hash(Object)}.
76      */
77     public void testHash ()
78     {
79100       final HashCode hashCode = new HashCode();
80100       hashCode.hash(true);
81100       hashCode.hash('?');
82100       hashCode.hash(Math.PI);
83100       hashCode.hash(Float.POSITIVE_INFINITY);
84100       hashCode.hash(0);
85100       hashCode.hash(Byte.MAX_VALUE);
86100       hashCode.hash(Character.MAX_VALUE);
87100       hashCode.hash("foo");
88100       hashCode.hash(null);
89100       hashCode.hash(0L);
90100       hashCode.hash(Collections.EMPTY_LIST.toArray());
91100       hashCode.hash(Collections.singletonList("foo").toArray());
92100    }
93  
94  }

Findings in this File