1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertFalse;
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import org.junit.jupiter.api.Test;
24
25 public class ArrayUtilsTest {
26
27 @Test
28 public void testContains() {
29 final Object[] array = { "0", "1", "2", "3", null, "0" };
30 assertFalse(ArrayUtils.contains(null, null));
31 assertFalse(ArrayUtils.contains(null, "1"));
32 assertTrue(ArrayUtils.contains(array, "0"));
33 assertTrue(ArrayUtils.contains(array, "1"));
34 assertTrue(ArrayUtils.contains(array, "2"));
35 assertTrue(ArrayUtils.contains(array, "3"));
36 assertTrue(ArrayUtils.contains(array, null));
37 assertFalse(ArrayUtils.contains(array, "notInArray"));
38 }
39
40 @Test
41 public void testContains_LANG_1261() {
42 class LANG1261ParentObject {
43 @Override
44 public boolean equals(final Object o) {
45 return true;
46 }
47
48 @Override
49 public int hashCode() {
50
51 return super.hashCode();
52 }
53 }
54 class LANG1261ChildObject extends LANG1261ParentObject {
55 }
56 final Object[] array = new LANG1261ChildObject[] { new LANG1261ChildObject() };
57 assertTrue(ArrayUtils.contains(array, new LANG1261ParentObject()));
58 }
59
60 @Test
61 public void testIndexOf() {
62 final Object[] array = { "0", "1", "2", "3", null, "0" };
63 assertEquals(-1, ArrayUtils.indexOf(null, null));
64 assertEquals(-1, ArrayUtils.indexOf(null, "0"));
65 assertEquals(-1, ArrayUtils.indexOf(new Object[0], "0"));
66 assertEquals(0, ArrayUtils.indexOf(array, "0"));
67 assertEquals(1, ArrayUtils.indexOf(array, "1"));
68 assertEquals(2, ArrayUtils.indexOf(array, "2"));
69 assertEquals(3, ArrayUtils.indexOf(array, "3"));
70 assertEquals(4, ArrayUtils.indexOf(array, null));
71 assertEquals(-1, ArrayUtils.indexOf(array, "notInArray"));
72 }
73 }