mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix ArrayUtil.toString
This commit is contained in:
@@ -2,6 +2,7 @@ package cn.hutool.core.util;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import cn.hutool.core.lang.Console;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -10,9 +11,8 @@ import cn.hutool.core.lang.Filter;
|
||||
|
||||
/**
|
||||
* {@link ArrayUtil} 数组工具单元测试
|
||||
*
|
||||
* @author Looly
|
||||
*
|
||||
* @author Looly
|
||||
*/
|
||||
public class ArrayUtilTest {
|
||||
|
||||
@@ -29,7 +29,7 @@ public class ArrayUtilTest {
|
||||
|
||||
@Test
|
||||
public void isNotEmptyTest() {
|
||||
int[] a = { 1, 2 };
|
||||
int[] a = {1, 2};
|
||||
Assert.assertTrue(ArrayUtil.isNotEmpty(a));
|
||||
}
|
||||
|
||||
@@ -38,98 +38,98 @@ public class ArrayUtilTest {
|
||||
String[] newArray = ArrayUtil.newArray(String.class, 3);
|
||||
Assert.assertEquals(3, newArray.length);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void cloneTest() {
|
||||
Integer[] b = { 1, 2, 3 };
|
||||
Integer[] b = {1, 2, 3};
|
||||
Integer[] cloneB = ArrayUtil.clone(b);
|
||||
Assert.assertArrayEquals(b, cloneB);
|
||||
|
||||
int[] a = { 1, 2, 3 };
|
||||
int[] a = {1, 2, 3};
|
||||
int[] clone = ArrayUtil.clone(a);
|
||||
Assert.assertArrayEquals(a, clone);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterTest() {
|
||||
Integer[] a = { 1, 2, 3, 4, 5, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 5, 6};
|
||||
Integer[] filter = ArrayUtil.filter(a, new Editor<Integer>() {
|
||||
@Override
|
||||
public Integer edit(Integer t) {
|
||||
return (t % 2 == 0) ? t : null;
|
||||
}
|
||||
});
|
||||
Assert.assertArrayEquals(filter, new Integer[] { 2, 4, 6 });
|
||||
Assert.assertArrayEquals(filter, new Integer[]{2, 4, 6});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterTestForFilter() {
|
||||
Integer[] a = { 1, 2, 3, 4, 5, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 5, 6};
|
||||
Integer[] filter = ArrayUtil.filter(a, new Filter<Integer>() {
|
||||
@Override
|
||||
public boolean accept(Integer t) {
|
||||
return t % 2 == 0;
|
||||
}
|
||||
});
|
||||
Assert.assertArrayEquals(filter, new Integer[] { 2, 4, 6 });
|
||||
Assert.assertArrayEquals(filter, new Integer[]{2, 4, 6});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterTestForEditor() {
|
||||
Integer[] a = { 1, 2, 3, 4, 5, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 5, 6};
|
||||
Integer[] filter = ArrayUtil.filter(a, new Editor<Integer>() {
|
||||
@Override
|
||||
public Integer edit(Integer t) {
|
||||
return (t % 2 == 0) ? t * 10 : t;
|
||||
}
|
||||
});
|
||||
Assert.assertArrayEquals(filter, new Integer[] { 1, 20, 3, 40, 5, 60 });
|
||||
Assert.assertArrayEquals(filter, new Integer[]{1, 20, 3, 40, 5, 60});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void indexOfTest() {
|
||||
Integer[] a = { 1, 2, 3, 4, 5, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 5, 6};
|
||||
int index = ArrayUtil.indexOf(a, 3);
|
||||
Assert.assertEquals(2, index);
|
||||
|
||||
long[] b = { 1, 2, 3, 4, 5, 6 };
|
||||
long[] b = {1, 2, 3, 4, 5, 6};
|
||||
int index2 = ArrayUtil.indexOf(b, 3);
|
||||
Assert.assertEquals(2, index2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lastIndexOfTest() {
|
||||
Integer[] a = { 1, 2, 3, 4, 3, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 3, 6};
|
||||
int index = ArrayUtil.lastIndexOf(a, 3);
|
||||
Assert.assertEquals(4, index);
|
||||
|
||||
long[] b = { 1, 2, 3, 4, 3, 6 };
|
||||
long[] b = {1, 2, 3, 4, 3, 6};
|
||||
int index2 = ArrayUtil.lastIndexOf(b, 3);
|
||||
Assert.assertEquals(4, index2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void containsTest() {
|
||||
Integer[] a = { 1, 2, 3, 4, 3, 6 };
|
||||
Integer[] a = {1, 2, 3, 4, 3, 6};
|
||||
boolean contains = ArrayUtil.contains(a, 3);
|
||||
Assert.assertTrue(contains);
|
||||
|
||||
long[] b = { 1, 2, 3, 4, 3, 6 };
|
||||
long[] b = {1, 2, 3, 4, 3, 6};
|
||||
boolean contains2 = ArrayUtil.contains(b, 3);
|
||||
Assert.assertTrue(contains2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mapTest() {
|
||||
String[] keys = { "a", "b", "c" };
|
||||
Integer[] values = { 1, 2, 3 };
|
||||
String[] keys = {"a", "b", "c"};
|
||||
Integer[] values = {1, 2, 3};
|
||||
Map<String, Integer> map = ArrayUtil.zip(keys, values, true);
|
||||
Assert.assertEquals(map.toString(), "{a=1, b=2, c=3}");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void castTest() {
|
||||
Object[] values = { "1", "2", "3" };
|
||||
Object[] values = {"1", "2", "3"};
|
||||
String[] cast = (String[]) ArrayUtil.cast(String.class, values);
|
||||
Assert.assertEquals(values[0], cast[0]);
|
||||
Assert.assertEquals(values[1], cast[1]);
|
||||
@@ -177,59 +177,82 @@ public class ArrayUtilTest {
|
||||
|
||||
@Test
|
||||
public void appendTest() {
|
||||
String[] a = { "1", "2", "3", "4" };
|
||||
String[] b = { "a", "b", "c" };
|
||||
String[] a = {"1", "2", "3", "4"};
|
||||
String[] b = {"a", "b", "c"};
|
||||
|
||||
String[] result = ArrayUtil.append(a, b);
|
||||
Assert.assertArrayEquals(new String[] { "1", "2", "3", "4", "a", "b", "c" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", "a", "b", "c"}, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void insertTest() {
|
||||
String[] a = { "1", "2", "3", "4" };
|
||||
String[] b = { "a", "b", "c" };
|
||||
String[] a = {"1", "2", "3", "4"};
|
||||
String[] b = {"a", "b", "c"};
|
||||
|
||||
// 在-1位置插入,相当于在3位置插入
|
||||
String[] result = ArrayUtil.insert(a, -1, b);
|
||||
Assert.assertArrayEquals(new String[] { "1", "2", "3", "a", "b", "c", "4" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "a", "b", "c", "4"}, result);
|
||||
|
||||
// 在第0个位置插入,既在数组前追加
|
||||
result = ArrayUtil.insert(a, 0, b);
|
||||
Assert.assertArrayEquals(new String[] { "a", "b", "c", "1", "2", "3", "4" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
|
||||
|
||||
// 在第2个位置插入,既"3"之前
|
||||
result = ArrayUtil.insert(a, 2, b);
|
||||
Assert.assertArrayEquals(new String[] { "1", "2", "a", "b", "c", "3", "4" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"1", "2", "a", "b", "c", "3", "4"}, result);
|
||||
|
||||
// 在第4个位置插入,既"4"之后,相当于追加
|
||||
result = ArrayUtil.insert(a, 4, b);
|
||||
Assert.assertArrayEquals(new String[] { "1", "2", "3", "4", "a", "b", "c" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", "a", "b", "c"}, result);
|
||||
|
||||
// 在第5个位置插入,由于数组长度为4,因此补null
|
||||
result = ArrayUtil.insert(a, 5, b);
|
||||
Assert.assertArrayEquals(new String[] { "1", "2", "3", "4", null, "a", "b", "c" }, result);
|
||||
Assert.assertArrayEquals(new String[]{"1", "2", "3", "4", null, "a", "b", "c"}, result);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void joinTest() {
|
||||
String[] array = {"aa", "bb", "cc", "dd"};
|
||||
String join = ArrayUtil.join(array, ",", "[", "]");
|
||||
Assert.assertEquals("[aa],[bb],[cc],[dd]", join);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getArrayTypeTest() {
|
||||
Class<?> arrayType = ArrayUtil.getArrayType(int.class);
|
||||
Assert.assertEquals(int[].class, arrayType);
|
||||
|
||||
|
||||
arrayType = ArrayUtil.getArrayType(String.class);
|
||||
Assert.assertEquals(String[].class, arrayType);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void distinctTest() {
|
||||
String[] array = {"aa", "bb", "cc", "dd", "bb", "dd"};
|
||||
String[] distinct = ArrayUtil.distinct(array);
|
||||
Assert.assertArrayEquals(new String[] {"aa", "bb", "cc", "dd"}, distinct);
|
||||
Assert.assertArrayEquals(new String[]{"aa", "bb", "cc", "dd"}, distinct);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toStingTest() {
|
||||
int[] a = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1, 3, 56, 6, 7]", ArrayUtil.toString(a));
|
||||
long[] b = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1, 3, 56, 6, 7]", ArrayUtil.toString(b));
|
||||
short[] c = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1, 3, 56, 6, 7]", ArrayUtil.toString(c));
|
||||
double[] d = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1.0, 3.0, 56.0, 6.0, 7.0]", ArrayUtil.toString(d));
|
||||
byte[] e = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1, 3, 56, 6, 7]", ArrayUtil.toString(e));
|
||||
boolean[] f = {true, false, true, true, true};
|
||||
Assert.assertEquals("[true, false, true, true, true]", ArrayUtil.toString(f));
|
||||
float[] g = {1, 3, 56, 6, 7};
|
||||
Assert.assertEquals("[1.0, 3.0, 56.0, 6.0, 7.0]", ArrayUtil.toString(g));
|
||||
char[] h = {'a', 'b', '你', '好', '1'};
|
||||
Assert.assertEquals("[a, b, 你, 好, 1]", ArrayUtil.toString(h));
|
||||
|
||||
String[] array = {"aa", "bb", "cc", "dd", "bb", "dd"};
|
||||
Assert.assertEquals("[aa, bb, cc, dd, bb, dd]", ArrayUtil.toString(array));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user