/**
* Copyright 2009-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ibatis.reflection;
import static org.junit.Assert.*;
import java.util.Arrays;
import org.junit.Test;
public class ArrayUtilTest extends ArrayUtil {
@Test
public void testHashCode() throws Exception {
Object arr;
arr = new long[] { 1 };
assertEquals(Arrays.hashCode((long[]) arr), ArrayUtil.hashCode(arr));
arr = new int[] { 1 };
assertEquals(Arrays.hashCode((int[]) arr), ArrayUtil.hashCode(arr));
arr = new short[] { 1 };
assertEquals(Arrays.hashCode((short[]) arr), ArrayUtil.hashCode(arr));
arr = new char[] { 1 };
assertEquals(Arrays.hashCode((char[]) arr), ArrayUtil.hashCode(arr));
arr = new byte[] { 1 };
assertEquals(Arrays.hashCode((byte[]) arr), ArrayUtil.hashCode(arr));
arr = new boolean[] { true };
assertEquals(Arrays.hashCode((boolean[]) arr), ArrayUtil.hashCode(arr));
arr = new float[] { 1f };
assertEquals(Arrays.hashCode((float[]) arr), ArrayUtil.hashCode(arr));
arr = new double[] { 1d };
assertEquals(Arrays.hashCode((double[]) arr), ArrayUtil.hashCode(arr));
arr = new Object[] { "str" };
assertEquals(Arrays.hashCode((Object[]) arr), ArrayUtil.hashCode(arr));
assertEquals(0, ArrayUtil.hashCode(null));
assertEquals("str".hashCode(), ArrayUtil.hashCode("str"));
assertEquals(Integer.valueOf(1).hashCode(), ArrayUtil.hashCode(1));
}
@Test
public void testequals() throws Exception {
assertTrue(ArrayUtil.equals(new long[] { 1 }, new long[] { 1 }));
assertTrue(ArrayUtil.equals(new int[] { 1 }, new int[] { 1 }));
assertTrue(ArrayUtil.equals(new short[] { 1 }, new short[] { 1 }));
assertTrue(ArrayUtil.equals(new char[] { 1 }, new char[] { 1 }));
assertTrue(ArrayUtil.equals(new byte[] { 1 }, new byte[] { 1 }));
assertTrue(ArrayUtil.equals(new boolean[] { true }, new boolean[] { true }));
assertTrue(ArrayUtil.equals(new float[] { 1f }, new float[] { 1f }));
assertTrue(ArrayUtil.equals(new double[] { 1d }, new double[] { 1d }));
assertTrue(ArrayUtil.equals(new Object[] { "str" }, new Object[] { "str" }));
assertFalse(ArrayUtil.equals(new long[] { 1 }, new long[] { 2 }));
assertFalse(ArrayUtil.equals(new int[] { 1 }, new int[] { 2 }));
assertFalse(ArrayUtil.equals(new short[] { 1 }, new short[] { 2 }));
assertFalse(ArrayUtil.equals(new char[] { 1 }, new char[] { 2 }));
assertFalse(ArrayUtil.equals(new byte[] { 1 }, new byte[] { 2 }));
assertFalse(ArrayUtil.equals(new boolean[] { true }, new boolean[] { false }));
assertFalse(ArrayUtil.equals(new float[] { 1f }, new float[] { 2f }));
assertFalse(ArrayUtil.equals(new double[] { 1d }, new double[] { 2d }));
assertFalse(ArrayUtil.equals(new Object[] { "str" }, new Object[] { "rts" }));
assertTrue(ArrayUtil.equals(null, null));
assertFalse(ArrayUtil.equals(new long[] { 1 }, null));
assertFalse(ArrayUtil.equals(null, new long[] { 1 }));
assertTrue(ArrayUtil.equals(1, 1));
assertTrue(ArrayUtil.equals("str", "str"));
}
@Test
public void testToString() throws Exception {
Object arr;
arr = new long[] { 1 };
assertEquals(Arrays.toString((long[]) arr), ArrayUtil.toString(arr));
arr = new int[] { 1 };
assertEquals(Arrays.toString((int[]) arr), ArrayUtil.toString(arr));
arr = new short[] { 1 };
assertEquals(Arrays.toString((short[]) arr), ArrayUtil.toString(arr));
arr = new char[] { 1 };
assertEquals(Arrays.toString((char[]) arr), ArrayUtil.toString(arr));
arr = new byte[] { 1 };
assertEquals(Arrays.toString((byte[]) arr), ArrayUtil.toString(arr));
arr = new boolean[] { true };
assertEquals(Arrays.toString((boolean[]) arr), ArrayUtil.toString(arr));
arr = new float[] { 1f };
assertEquals(Arrays.toString((float[]) arr), ArrayUtil.toString(arr));
arr = new double[] { 1d };
assertEquals(Arrays.toString((double[]) arr), ArrayUtil.toString(arr));
arr = new Object[] { "str" };
assertEquals(Arrays.toString((Object[]) arr), ArrayUtil.toString(arr));
assertEquals(Integer.valueOf(1).toString(), ArrayUtil.toString(1));
assertEquals("null", ArrayUtil.toString(null));
}
}