提交 057fe923 编写于 作者: 勤为径苦作舟's avatar 勤为径苦作舟

fix: 修复 CollectionUtils 错误并完善覆盖率测试

上级 6f0ebe70
...@@ -128,10 +128,10 @@ public class CollectionUtils { ...@@ -128,10 +128,10 @@ public class CollectionUtils {
} }
/** /**
* 是否 集合不为 null 且 有元素 * 是否不满足 集合为 null 或 没有元素
* *
* @param coll 集合 * @param coll 集合
* @return 是否 集合不为 null 且 有元素 * @return 是否不满足 集合为 null 或 没有元素
*/ */
public static boolean isNotEmpty(java.util.Collection<?> coll) { public static boolean isNotEmpty(java.util.Collection<?> coll) {
return org.apache.commons.collections4.CollectionUtils.isNotEmpty(coll); return org.apache.commons.collections4.CollectionUtils.isNotEmpty(coll);
...@@ -251,7 +251,7 @@ public class CollectionUtils { ...@@ -251,7 +251,7 @@ public class CollectionUtils {
/** /**
* 是否 每个集合都 (为 null 或 没有元素) * 是否 每个集合 都为 null 或 没有元素
* *
* @param colls 多个集合,只传一个数组请调用 {@link #isEmpty(Collection)} * @param colls 多个集合,只传一个数组请调用 {@link #isEmpty(Collection)}
* @return 是否 每个集合都 (为 null 或 没有元素) * @return 是否 每个集合都 (为 null 或 没有元素)
...@@ -262,8 +262,8 @@ public class CollectionUtils { ...@@ -262,8 +262,8 @@ public class CollectionUtils {
} }
for (Collection<?> coll : colls) { for (Collection<?> coll : colls) {
// 如果 某个集合 (不为 null 且 有元素) // 如果 某个集合 不为 null 且 有元素
if (isEmpty(coll)) { if (!isEmpty(coll)) {
return false; return false;
} }
} }
...@@ -271,27 +271,27 @@ public class CollectionUtils { ...@@ -271,27 +271,27 @@ public class CollectionUtils {
} }
/** /**
* 是否 每个集合都 (不为 null 且 有元素) * 是否不满足 每个集合 都为 null 或 没有元素
* *
* @param colls 多个集合,只传一个数组请调用 {@link #isNotEmpty(Collection)} * @param colls 多个集合,只传一个数组请调用 {@link #isNotEmpty(Collection)}
* @return 是否 每个集合都 (不为 null 且 有元素) * @return 是否不满足 每个集合 都为 null 或 没有元素
*/ */
public static boolean isNotEmptys(final Collection<?>... colls) { public static boolean isNotEmptys(@NonNull final Collection<?>... colls) {
return !isEmptys(colls); return !isEmptys(colls);
} }
/** /**
* 是否 对象不为 null 且 有元素 * 是否不满足 对象为 null 或 没有元素
* *
* @param object 对象 * @param object 对象
* @return 是否 对象不为 null 且 有元素 * @return 是否不满足 对象为 null 或 没有元素
*/ */
public static boolean sizeIsNotEmpty(@NonNull final Object object) { public static boolean sizeIsNotEmpty(@NonNull final Object object) {
return !sizeIsEmpty(object); return !sizeIsEmpty(object);
} }
/** /**
* 是否 每个对象都 (为 null 或 没有元素) * 是否 每个对象 都为 null 或 没有元素
* *
* <ul> * <ul>
* <li>Collection - via collection isEmpty * <li>Collection - via collection isEmpty
...@@ -302,16 +302,16 @@ public class CollectionUtils { ...@@ -302,16 +302,16 @@ public class CollectionUtils {
* </ul> * </ul>
* *
* @param objects 多个对象。只传一个数组请调用 {@link #sizeIsEmpty(Object)} * @param objects 多个对象。只传一个数组请调用 {@link #sizeIsEmpty(Object)}
* @return 是否 每个对象都 (为 null 或 没有元素) * @return 是否 每个对象 都为 null 或 没有元素
*/ */
public static boolean sizeIsEmptys(final Object... objects) { public static boolean sizeIsEmptys(@NonNull final Object... objects) {
if (objects.length < 2) { if (objects.length < 2) {
throw new IllegalArgumentException("Objects: length must be greater than 1."); throw new IllegalArgumentException("Objects: length must be greater than 1.");
} }
for (Object object : objects) { for (Object object : objects) {
// 如果 某个对象 (不为 null 且 有元素) // 如果 某个对象 不为 null 且 有元素
if (sizeIsEmpty(object)) { if (!sizeIsEmpty(object)) {
return false; return false;
} }
} }
...@@ -319,10 +319,10 @@ public class CollectionUtils { ...@@ -319,10 +319,10 @@ public class CollectionUtils {
} }
/** /**
* 是否 每个对象都 (不为 null 且 有元素) * 是否不满足 每个对象 都为 null 或 没有元素
* *
* @param objects 多个对象。只传一个数组请调用 {@link #sizeIsNotEmpty(Object)} * @param objects 多个对象。只传一个数组请调用 {@link #sizeIsNotEmpty(Object)}
* @return 是否 每个对象都 (不为 null 且 有元素) * @return 是否不满足 每个对象 都为 null 或 没有元素
*/ */
public static boolean sizeIsNotEmptys(@NonNull final Object... objects) { public static boolean sizeIsNotEmptys(@NonNull final Object... objects) {
return !sizeIsEmptys(objects); return !sizeIsEmptys(objects);
...@@ -342,27 +342,18 @@ public class CollectionUtils { ...@@ -342,27 +342,18 @@ public class CollectionUtils {
* </ul> * </ul>
* *
* @param object 对象 * @param object 对象
* @return 是否 对象所有元素都为 null 或 没有元素) * @return 是否 对象所有元素都为 null 或 没有元素
*/ */
public static boolean isAllEmpty(final Object object) { public static boolean isAllEmpty(final Object object) {
if (object == null) { if (sizeIsEmpty(object)) {
return true; return true;
} }
if (object instanceof Collection) { if (object instanceof Iterable<?>) {
Collection<?> obj1 = (Collection<?>) object;
obj1.removeIf(Objects::isNull);
return obj1.size() == 0;
} else if (object instanceof Iterable<?>) {
for (Object o : (Iterable<?>) object) { for (Object o : (Iterable<?>) object) {
if (o != null) { if (o != null) {
return false; return false;
} }
} }
} else if (object instanceof Map<?, ?>) {
return isAllEmptys(((Map<?, ?>) object).values());
} else if (object instanceof Object[]) {
Object[] obj1 = (Object[]) object;
return Arrays.stream(obj1).noneMatch(Objects::nonNull);
} else if (object instanceof Iterator<?>) { } else if (object instanceof Iterator<?>) {
Iterator<?> obj1 = (Iterator<?>) object; Iterator<?> obj1 = (Iterator<?>) object;
while (obj1.hasNext()) { while (obj1.hasNext()) {
...@@ -370,6 +361,11 @@ public class CollectionUtils { ...@@ -370,6 +361,11 @@ public class CollectionUtils {
return false; return false;
} }
} }
} else if (object instanceof Map<?, ?>) {
return isAllEmpty(((Map<?, ?>) object).values());
} else if (object instanceof Object[]) {
Object[] obj1 = (Object[]) object;
return Arrays.stream(obj1).noneMatch(Objects::nonNull);
} else if (object instanceof Enumeration<?>) { } else if (object instanceof Enumeration<?>) {
Enumeration<?> obj1 = (Enumeration<?>) object; Enumeration<?> obj1 = (Enumeration<?>) object;
while (obj1.hasMoreElements()) { while (obj1.hasMoreElements()) {
...@@ -377,22 +373,24 @@ public class CollectionUtils { ...@@ -377,22 +373,24 @@ public class CollectionUtils {
return false; return false;
} }
} }
} else {
throw new IllegalArgumentException("Unsupported object type: " + object.getClass().getName());
} }
return true; return true;
} }
/** /**
* 是否 对象所有元素都不为 null 且 有元素 * 是否不满足 对象所有元素都为 null 或 没有元素
* *
* @param object 对象 * @param object 对象
* @return 是否 对象元素都不为 null 且 有元素 * @return 是否不满足 对象所有元素都为 null 或 没有元素
*/ */
public static boolean isNotAllEmpty(@NonNull final Object object) { public static boolean isNotAllEmpty(@NonNull final Object object) {
return !isAllEmptys(object); return !isAllEmpty(object);
} }
/** /**
* 是否 每个对象的 (所有元素都为 null 或 没有元素) * 是否 每个对象的 所有元素都为 null 或 没有元素
* <p> * <p>
* 注意:会遍历 Iterator,后续使用需重新创建,但是和 {@link #isAllEquals(boolean, Function, Object...)}、{@link #isAllEqualsSameIndex(boolean, Function, Object...)} 使用时却无须担心,因为其内部会在调用此方法前就将 Iterator 转换为 List * 注意:会遍历 Iterator,后续使用需重新创建,但是和 {@link #isAllEquals(boolean, Function, Object...)}、{@link #isAllEqualsSameIndex(boolean, Function, Object...)} 使用时却无须担心,因为其内部会在调用此方法前就将 Iterator 转换为 List
* *
...@@ -405,9 +403,12 @@ public class CollectionUtils { ...@@ -405,9 +403,12 @@ public class CollectionUtils {
* </ul> * </ul>
* *
* @param objects 多个对象,只传一个数组请调用 {@link #isAllEmpty(Object)} * @param objects 多个对象,只传一个数组请调用 {@link #isAllEmpty(Object)}
* @return 是否 每个对象的 (所有元素都为 null 或 没有元素) * @return 是否 每个对象的 所有元素都为 null 或 没有元素
*/ */
public static boolean isAllEmptys(final Object... objects) { public static boolean isAllEmptys(final Object... objects) {
if (objects == null) {
return true;
}
if (objects.length < 2) { if (objects.length < 2) {
throw new IllegalArgumentException("Objects: length must be greater than 1."); throw new IllegalArgumentException("Objects: length must be greater than 1.");
} }
...@@ -421,10 +422,10 @@ public class CollectionUtils { ...@@ -421,10 +422,10 @@ public class CollectionUtils {
} }
/** /**
* 是否 每个对象的 (所有元素都不为 null 且 有元素) * 是否不满足 每个对象的 所有元素都为 null 或 没有元素
* *
* @param objects 多个对象,只传一个数组请调用 {@link #isNotAllEmpty(Object)} * @param objects 多个对象,只传一个数组请调用 {@link #isNotAllEmpty(Object)}
* @return 是否 每个对象的 (所有元素都不为 null 且 有元素) * @return 是否不满足 每个对象的 所有元素都为 null 或 没有元素
*/ */
public static boolean isNotAllEmptys(@NonNull final Object... objects) { public static boolean isNotAllEmptys(@NonNull final Object... objects) {
return !isAllEmptys(objects); return !isAllEmptys(objects);
...@@ -449,21 +450,12 @@ public class CollectionUtils { ...@@ -449,21 +450,12 @@ public class CollectionUtils {
public static boolean isAnyEmpty(final Object object) { public static boolean isAnyEmpty(final Object object) {
if (sizeIsEmpty(object)) { if (sizeIsEmpty(object)) {
return true; return true;
}
if (object instanceof Collection<?>) {
Collection<?> obj1 = (Collection<?>) object;
return obj1.contains(null);
} else if (object instanceof Iterable<?>) { } else if (object instanceof Iterable<?>) {
for (Object o : (Iterable<?>) object) { for (Object o : (Iterable<?>) object) {
if (o == null) { if (o == null) {
return true; return true;
} }
} }
} else if (object instanceof Map<?, ?>) {
return ((Map<?, ?>) object).containsValue(null);
} else if (object instanceof Object[]) {
Object[] obj1 = (Object[]) object;
return Arrays.stream(obj1).anyMatch(Objects::isNull);
} else if (object instanceof Iterator<?>) { } else if (object instanceof Iterator<?>) {
Iterator<?> obj1 = (Iterator<?>) object; Iterator<?> obj1 = (Iterator<?>) object;
while (obj1.hasNext()) { while (obj1.hasNext()) {
...@@ -471,6 +463,11 @@ public class CollectionUtils { ...@@ -471,6 +463,11 @@ public class CollectionUtils {
return true; return true;
} }
} }
} else if (object instanceof Map<?, ?>) {
return ((Map<?, ?>) object).containsValue(null);
} else if (object instanceof Object[]) {
Object[] obj1 = (Object[]) object;
return Arrays.stream(obj1).anyMatch(Objects::isNull);
} else if (object instanceof Enumeration<?>) { } else if (object instanceof Enumeration<?>) {
Enumeration<?> obj1 = (Enumeration<?>) object; Enumeration<?> obj1 = (Enumeration<?>) object;
while (obj1.hasMoreElements()) { while (obj1.hasMoreElements()) {
...@@ -478,22 +475,24 @@ public class CollectionUtils { ...@@ -478,22 +475,24 @@ public class CollectionUtils {
return true; return true;
} }
} }
} else {
throw new IllegalArgumentException("Unsupported object type: " + object.getClass().getName());
} }
return false; return false;
} }
/** /**
* 是否 对象不为 null 且 有元素 且 每个元素都不为 null * 是否不满足 任意对象为 null 或 没有元素 或 任意元素为 null
* *
* @param object 对象 * @param object 对象
* @return 是否 对象不为 null 且 有元素 且 每个元素都不为 null * @return 是否不满足 任意对象为 null 或 没有元素 或 任意元素为 null
*/ */
public static boolean isNotAnyEmpty(final Object object) { public static boolean isNotAnyEmpty(final Object object) {
return !isAnyEmpty(object); return !isAnyEmpty(object);
} }
/** /**
* 是否 任意对象 (为 null 或 没有元素 或 任意元素为 null) * 是否 任意对象 为 null 或 没有元素 或 任意元素为 null
* <p> * <p>
* 注意:会遍历 Iterator,后续使用需重新创建,但是和 {@link #isAllEquals(boolean, Function, Object...)}、{@link #isAllEqualsSameIndex(boolean, Function, Object...)} 使用时却无须担心,因为其内部会在调用此方法前就将 Iterator 转换为 List * 注意:会遍历 Iterator,后续使用需重新创建,但是和 {@link #isAllEquals(boolean, Function, Object...)}、{@link #isAllEqualsSameIndex(boolean, Function, Object...)} 使用时却无须担心,因为其内部会在调用此方法前就将 Iterator 转换为 List
* *
...@@ -506,9 +505,12 @@ public class CollectionUtils { ...@@ -506,9 +505,12 @@ public class CollectionUtils {
* </ul> * </ul>
* *
* @param objects 多个对象,只传一个数组请调用 {@link #isAnyEmpty(Object)} * @param objects 多个对象,只传一个数组请调用 {@link #isAnyEmpty(Object)}
* @return 是否 任意对象 (为 null 或 没有元素 或 任意元素为 null) * @return 是否 任意对象 为 null 或 没有元素 或 任意元素为 null
*/ */
public static boolean isAnyEmptys(final Object... objects) { public static boolean isAnyEmptys(final Object... objects) {
if (objects == null) {
return true;
}
if (objects.length < 2) { if (objects.length < 2) {
throw new IllegalArgumentException("Objects: length must be greater than 1."); throw new IllegalArgumentException("Objects: length must be greater than 1.");
} }
...@@ -522,10 +524,10 @@ public class CollectionUtils { ...@@ -522,10 +524,10 @@ public class CollectionUtils {
} }
/** /**
* 是否 每个对象 (不为 null 且 有元素 且 每个元素都不为 null) * 是否不满足 任意对象 为 null 或 没有元素 或 任意元素为 null
* *
* @param objects 多个对象,只传一个数组请调用 {@link #isNotAnyEmpty(Object)} * @param objects 多个对象,只传一个数组请调用 {@link #isNotAnyEmpty(Object)}
* @return 是否 每个对象 (不为 null 且 有元素 且 每个元素都不为 null) * @return 是否不满足 任意对象 为 null 或 没有元素 或 任意元素为 null
*/ */
public static boolean isNotAnyEmptys(final Object... objects) { public static boolean isNotAnyEmptys(final Object... objects) {
return !isAnyEmptys(objects); return !isAnyEmptys(objects);
......
...@@ -88,45 +88,177 @@ public class CollectionUtilsTest { ...@@ -88,45 +88,177 @@ public class CollectionUtilsTest {
// TODO 其他方法 // TODO 其他方法
} }
@DisplayName("是否 每个集合 都为 null 或 没有元素")
@Test
void isEmptys() {
assertThrows(NullPointerException.class, () -> CollectionUtils.isEmptys(null));
assertThrows(IllegalArgumentException.class, () -> CollectionUtils.isEmptys(new ArrayList<>()));
List<Object> list = new ArrayList<>();
List<Object> list1 = new ArrayList<>();
assertTrue(CollectionUtils.isEmptys(list, list1));
list1.add(1);
assertFalse(CollectionUtils.isEmptys(list, list1));
}
@DisplayName("是否不满足 每个集合 都为 null 或 没有元素")
@Test
void isNotEmptys() {
assertThrows(NullPointerException.class, () -> CollectionUtils.isNotEmptys(null));
List<Object> list = new ArrayList<>();
list.add(1);
List<Object> list1 = new ArrayList<>();
list1.add(1);
assertTrue(CollectionUtils.isNotEmptys(list, list1));
}
@DisplayName("是否不满足 对象为 null 或 没有元素")
@Test
void sizeIsNotEmpty() {
assertThrows(NullPointerException.class, () -> CollectionUtils.sizeIsNotEmpty(null));
List<Object> list = new ArrayList<>();
list.add(1);
assertTrue(CollectionUtils.sizeIsNotEmpty(list));
}
@DisplayName("isAllEmpty:是否 每个对象的 (所有元素都为 null || 没有元素)") @DisplayName("是否 每个对象 都为 null 或 没有元素")
@Test
void sizeIsEmptys() {
assertThrows(NullPointerException.class, () -> CollectionUtils.sizeIsEmptys(null));
assertThrows(IllegalArgumentException.class, () -> CollectionUtils.sizeIsEmptys(new ArrayList<>()));
List<Object> list = new ArrayList<>();
List<Object> list1 = new ArrayList<>();
assertTrue(CollectionUtils.sizeIsEmptys(list, list1));
list1.add(1);
assertFalse(CollectionUtils.sizeIsEmptys(list, list1));
}
@DisplayName("是否不满足 每个对象 都为 null 或 没有元素")
@Test
void sizeIsNotEmptys() {
assertThrows(NullPointerException.class, () -> CollectionUtils.sizeIsNotEmptys(null));
List<Object> list = new ArrayList<>();
list.add(1);
List<Object> list1 = new ArrayList<>();
list1.add(1);
assertTrue(CollectionUtils.sizeIsNotEmptys(list, list1));
}
@DisplayName("是否 每个对象的 所有元素都为 null 或 没有元素")
@Test @Test
void isAllEmpty() { void isAllEmpty() {
List<String> list = new ArrayList<>(); assertTrue(CollectionUtils.isAllEmpty(null));
list.add(null);
System.out.println("[0] 为 null 的列表:" + CollectionUtils.isAllEmpty(list)); List<Object> list = new ArrayList<>();
list.add(1);
assertFalse(CollectionUtils.isAllEmpty(list));
assertFalse(CollectionUtils.isAllEmpty(list.iterator()));
List<Object> emptyList = new ArrayList<>();
assertTrue(CollectionUtils.isAllEmpty(emptyList.iterator()));
emptyList.add(null);
assertTrue(CollectionUtils.isAllEmpty(emptyList));
assertTrue(CollectionUtils.isAllEmpty(emptyList.iterator()));
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("", null); map.put("1", 1);
System.out.println("{\"\", null} 的键值对:" + CollectionUtils.isAllEmpty(map)); assertFalse(CollectionUtils.isAllEmpty(map));
System.out.println("[null] 的数组:" + CollectionUtils.isAllEmpty(new Object[]{null})); assertFalse(CollectionUtils.isAllEmpty(new Object[]{1}));
System.out.println("[0] 为 null 的迭代器(Iterator):" + CollectionUtils.isAllEmpty(list.iterator()));
Vector<String> vector = new Vector<>(); assertFalse(CollectionUtils.isAllEmpty(new Vector<>(list).elements()));
vector.add(null); assertTrue(CollectionUtils.isAllEmpty(new Vector<>().elements()));
System.out.println("[0] 为 null 的枚举:" + CollectionUtils.isAllEmpty(vector.elements())); assertTrue(CollectionUtils.isAllEmpty(new Vector<>(emptyList).elements()));
}
@DisplayName("是否不满足 对象所有元素都为 null 或 没有元素")
@Test
void isNotAllEmpty() {
assertThrows(NullPointerException.class, () -> CollectionUtils.isNotAllEmpty(null));
List<Object> list1 = new ArrayList<>();
list1.add(1);
assertTrue(CollectionUtils.isNotAllEmpty(list1));
}
@DisplayName("是否 每个对象的 所有元素都为 null 或 没有元素")
@Test
void isAllEmptys() {
assertTrue(CollectionUtils.isAllEmptys(null));
assertThrows(IllegalArgumentException.class, () -> CollectionUtils.isAllEmptys(new ArrayList<>()));
List<Object> list = new ArrayList<>();
list.add(1);
Object[] array = {1};
assertFalse(CollectionUtils.isAllEmptys(list, array));
assertTrue(CollectionUtils.isAllEmptys(new ArrayList<>(), new Object[]{}));
}
@DisplayName("是否不满足 每个对象的 所有元素都为 null 或 没有元素")
@Test
void isNotAllEmptys() {
assertThrows(NullPointerException.class, () -> CollectionUtils.isNotAllEmptys(null));
List<Object> list = new ArrayList<>();
list.add(1);
Object[] array = {1};
assertTrue(CollectionUtils.isNotAllEmptys(list, array));
assertFalse(CollectionUtils.isNotAllEmptys(new ArrayList<>(), new Object[]{}));
} }
@DisplayName("isAnyEmpty:是否 任意对象 (为 null || 没有元素 || 任意元素为 null)") @DisplayName("是否 任意对象 为 null 或 没有元素 或 任意元素为 null")
@Test @Test
void isAnyEmpty() { void isAnyEmpty() {
List<String> list = new ArrayList<>(); assertTrue(CollectionUtils.isAnyEmpty(null));
List<Object> list = new ArrayList<>();
list.add(1);
assertFalse(CollectionUtils.isAnyEmpty(list));
list.add(null); list.add(null);
list.add(""); assertTrue(CollectionUtils.isAnyEmpty(list));
System.out.println("[0] 为 null 的列表:" + CollectionUtils.isAnyEmpty(list)); assertTrue(CollectionUtils.isAnyEmpty(list.iterator()));
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("", null); map.put("1", 1);
System.out.println("{\"\", null} 的键值对:" + CollectionUtils.isAnyEmpty(map)); map.put("2", null);
System.out.println("[null] 的数组:" + CollectionUtils.isAnyEmpty(new Object[]{null, 1})); assertTrue(CollectionUtils.isAnyEmpty(map));
System.out.println("[0] 为 null 的迭代器(Iterator):" + CollectionUtils.isAnyEmpty(list.iterator())); assertTrue(CollectionUtils.isAnyEmpty(new Object[]{null}));
Vector<String> vector = new Vector<>(); assertTrue(CollectionUtils.isAnyEmpty(new Vector<>(list).elements()));
vector.add(null); }
vector.add("");
System.out.println("[0] 为 null 的枚举:" + CollectionUtils.isAnyEmpty(vector.elements())); @DisplayName("是否不满足 任意对象 为 null 或 没有元素 或 任意元素为 null")
@Test
void isNotAnyEmpty() {
List<Object> list = new ArrayList<>();
assertFalse(CollectionUtils.isNotAnyEmpty(list));
list.add(1);
assertTrue(CollectionUtils.isNotAnyEmpty(list));
}
@DisplayName("是否 任意对象 为 null 或 没有元素 或 任意元素为 null")
@Test
void isAnyEmptys() {
assertTrue(CollectionUtils.isAnyEmptys(null));
List<Object> list = new ArrayList<>();
assertThrows(IllegalArgumentException.class, () -> CollectionUtils.isAnyEmptys(list));
list.add(1);
assertTrue(CollectionUtils.isAnyEmptys(list, new Object[]{}));
assertFalse(CollectionUtils.isAnyEmptys(list, new Object[]{1}));
}
@DisplayName("是否不满足 任意对象 为 null 或 没有元素 或 任意元素为 null")
@Test
void isNotAnyEmptys() {
assertTrue(CollectionUtils.isNotAnyEmptys(new Object[]{1}, new Object[]{1}));
assertFalse(CollectionUtils.isNotAnyEmptys(null));
} }
@DisplayName("是否 每个对象的每个元素都相等") @DisplayName("是否 每个对象的每个元素都相等")
@Test @Test
void isAllEquals() { void isAllEquals() {
/** {@link CollectionUtils#isAllEquals(boolean, Function, Object...)} */ /** {@link CollectionUtils#isAllEquals(boolean, Function, Object...) } */
assertThrows(NullPointerException.class, () -> CollectionUtils.isAllEquals(true, null, null)); assertThrows(NullPointerException.class, () -> CollectionUtils.isAllEquals(true, null, null));
assertThrows(IllegalArgumentException.class, () -> CollectionUtils.isAllEquals(true, null, new Object[]{})); assertThrows(IllegalArgumentException.class, () -> CollectionUtils.isAllEquals(true, null, new Object[]{}));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册