mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
add test
This commit is contained in:
parent
deea561052
commit
b2e5edb990
@ -42,6 +42,7 @@ import java.util.stream.Collectors;
|
|||||||
public class ArrayUtil extends PrimitiveArrayUtil {
|
public class ArrayUtil extends PrimitiveArrayUtil {
|
||||||
|
|
||||||
// region ----- ofArray
|
// region ----- ofArray
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 转为数组,如果values为数组,返回,否则返回一个只有values一个元素的数组<br>
|
* 转为数组,如果values为数组,返回,否则返回一个只有values一个元素的数组<br>
|
||||||
* 注意:values的元素类型或其本身类型必须和提供的elementType完全一致
|
* 注意:values的元素类型或其本身类型必须和提供的elementType完全一致
|
||||||
@ -64,7 +65,7 @@ public class ArrayUtil extends PrimitiveArrayUtil {
|
|||||||
* 包装单一元素为数组
|
* 包装单一元素为数组
|
||||||
*
|
*
|
||||||
* @param <A> 数组类型
|
* @param <A> 数组类型
|
||||||
* @param value 元素值
|
* @param value 元素值
|
||||||
* @param elementType 数组元素类型,{@code null}表示使用value的类型
|
* @param elementType 数组元素类型,{@code null}表示使用value的类型
|
||||||
* @return 数组
|
* @return 数组
|
||||||
*/
|
*/
|
||||||
@ -777,18 +778,18 @@ public class ArrayUtil extends PrimitiveArrayUtil {
|
|||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @param <T> 数组元素类型
|
* @param <T> 数组元素类型
|
||||||
* @param buffer 已有数组
|
* @param array 已有数组
|
||||||
* @param index 位置
|
* @param index 位置
|
||||||
* @param values 新值
|
* @param values 新值
|
||||||
* @return 新数组或原有数组
|
* @return 新数组或原有数组
|
||||||
* @since 5.7.23
|
* @since 5.7.23
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"unchecked"})
|
@SuppressWarnings({"unchecked"})
|
||||||
public static <T> T[] replace(final T[] buffer, final int index, final T... values) {
|
public static <T> T[] replace(final T[] array, final int index, final T... values) {
|
||||||
if (isEmpty(buffer)) {
|
if (isEmpty(array)) {
|
||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
return ArrayWrapper.of(buffer).replace(index, values).getRaw();
|
return ArrayWrapper.of(array).replace(index, values).getRaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -561,6 +561,20 @@ public class ArrayUtilTest {
|
|||||||
assertArrayEquals(new Object[]{4, "3", '2', "1"}, reverse);
|
assertArrayEquals(new Object[]{4, "3", '2', "1"}, reverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testRemoveWithValidIndex() {
|
||||||
|
final String[] array = {"a", "b", "c", "d"};
|
||||||
|
final String[] result = ArrayUtil.remove(array, 1);
|
||||||
|
assertArrayEquals(new String[]{"a", "c", "d"}, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testRemoveEleFromObjectArray() {
|
||||||
|
final Integer[] array = {1, 2, 3, 2, 4};
|
||||||
|
final Integer[] expected = {1, 3, 2, 4};
|
||||||
|
Assertions.assertArrayEquals(expected, ArrayUtil.removeEle(array, 2));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void removeEmptyTest() {
|
public void removeEmptyTest() {
|
||||||
final String[] a = {"a", "b", "", null, " ", "c"};
|
final String[] a = {"a", "b", "", null, " ", "c"};
|
||||||
@ -643,7 +657,7 @@ public class ArrayUtilTest {
|
|||||||
final String[] a = {"1", "2", "3", "4"};
|
final String[] a = {"1", "2", "3", "4"};
|
||||||
final String[] b = {"a", "b", "c"};
|
final String[] b = {"a", "b", "c"};
|
||||||
|
|
||||||
// 在小于0的位置,-1的位置插入,返回b+a,新数组
|
// 在小于0的位置,相当于在a前插入b,返回b+a,新数组
|
||||||
String[] result = ArrayUtil.replace(a, -1, b);
|
String[] result = ArrayUtil.replace(a, -1, b);
|
||||||
assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
|
assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
|
||||||
|
|
||||||
@ -1035,4 +1049,26 @@ public class ArrayUtilTest {
|
|||||||
// Then
|
// Then
|
||||||
assertArrayEquals(list.toArray(new String[0]), result, "The array should match the list contents.");
|
assertArrayEquals(list.toArray(new String[0]), result, "The array should match the list contents.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testResizeWithSmallerSize() {
|
||||||
|
// Setup
|
||||||
|
final Integer[] originalArray = {1, 2, 3, 4, 5};
|
||||||
|
// Execute
|
||||||
|
final Integer[] resizedArray = ArrayUtil.resize(originalArray, 3);
|
||||||
|
// Assert
|
||||||
|
assertEquals(3, resizedArray.length);
|
||||||
|
assertArrayEquals(new Integer[]{1, 2, 3}, resizedArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testResizeWithLargerSize() {
|
||||||
|
// Setup
|
||||||
|
final Integer[] originalArray = {1, 2, 3};
|
||||||
|
// Execute
|
||||||
|
final Integer[] resizedArray = ArrayUtil.resize(originalArray, 5);
|
||||||
|
// Assert
|
||||||
|
assertEquals(5, resizedArray.length);
|
||||||
|
assertArrayEquals(new Integer[]{1, 2, 3, null, null}, resizedArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user