1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.util;
29
30 import org.junit.Assert;
31 import org.junit.Test;
32
33
34
35
36
37 public class TestLangUtils {
38
39 @Test
40 public void testBasicHash() {
41 final Integer i = new Integer(1234);
42 final int h1 = LangUtils.hashCode(LangUtils.HASH_SEED, i.hashCode());
43 final int h2 = LangUtils.hashCode(LangUtils.HASH_SEED, i);
44 Assert.assertTrue(h1 == h2);
45 }
46
47 @Test
48 public void testNullObjectHash() {
49 final int h1 = LangUtils.hashCode(LangUtils.HASH_SEED, null);
50 final int h2 = LangUtils.hashCode(LangUtils.HASH_SEED, 0);
51 Assert.assertTrue(h1 == h2);
52 }
53
54 @Test
55 public void testBooleanHash() {
56 final int h1 = LangUtils.hashCode(LangUtils.HASH_SEED, true);
57 final int h2 = LangUtils.hashCode(LangUtils.HASH_SEED, false);
58 final int h3 = LangUtils.hashCode(LangUtils.HASH_SEED, true);
59 final int h4 = LangUtils.hashCode(LangUtils.HASH_SEED, false);
60 Assert.assertTrue(h1 != h2);
61 Assert.assertTrue(h1 == h3);
62 Assert.assertTrue(h2 == h4);
63 }
64
65 @Test
66 public void testBasicEquality() {
67 Assert.assertTrue(LangUtils.equals(null, null));
68 Assert.assertFalse(LangUtils.equals(null, "abc"));
69 Assert.assertFalse(LangUtils.equals("abc", null));
70 Assert.assertTrue(LangUtils.equals("abc", "abc"));
71 }
72
73 @Test
74 public void testArrayEquals() {
75 Assert.assertFalse(LangUtils.equals(null, new Object[] {}));
76 Assert.assertFalse(LangUtils.equals(new Object[] {}, null));
77 Assert.assertTrue(LangUtils.equals(new Object[] {}, new Object[] {}));
78 Assert.assertFalse(LangUtils.equals(
79 new Object[] {new Integer(1), new Integer(2)},
80 new Object[] {new Integer(1)}));
81 Assert.assertFalse(LangUtils.equals(
82 new Object[] {new Integer(1), new Integer(2)},
83 new Object[] {new Integer(1), new Integer(3)}));
84 Assert.assertTrue(LangUtils.equals(
85 new Object[] {new Integer(1), new Integer(2)},
86 new Object[] {new Integer(1), new Integer(2)}));
87 }
88 }