From 68ef91b6fbadbaa9e9ce5cf519bb6ee9dc5f95f9 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 11 Aug 2025 11:00:55 +0800 Subject: [PATCH] add test --- .../core/collection/CollStreamUtilTest.java | 60 ++++++++++--------- .../hutool/core/collection/CollUtilTest.java | 20 +++---- 2 files changed, 42 insertions(+), 38 deletions(-) diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/CollStreamUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/CollStreamUtilTest.java index 2699c32a7..4c5dd2507 100644 --- a/hutool-core/src/test/java/cn/hutool/core/collection/CollStreamUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/CollStreamUtilTest.java @@ -4,13 +4,14 @@ import cn.hutool.core.map.MapUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.ToString; -import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; import java.util.*; import java.util.stream.Collector; import java.util.stream.Collectors; +import static org.junit.jupiter.api.Assertions.*; + /** * CollectionStream测试方法 */ @@ -19,17 +20,17 @@ public class CollStreamUtilTest { @Test public void testToIdentityMap() { Map map = CollStreamUtil.toIdentityMap(null, Student::getStudentId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.toIdentityMap(list, Student::getStudentId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 1, 2, "李四")); list.add(new Student(1, 1, 3, "王五")); map = CollStreamUtil.toIdentityMap(list, Student::getStudentId); - assertEquals(map.get(1L).getName(), "张三"); - assertEquals(map.get(2L).getName(), "李四"); - assertEquals(map.get(3L).getName(), "王五"); + assertEquals("张三", map.get(1L).getName()); + assertEquals("李四", map.get(2L).getName()); + assertEquals("王五", map.get(3L).getName()); assertNull(map.get(4L)); // 测试value为空时 @@ -41,17 +42,17 @@ public class CollStreamUtilTest { @Test public void testToMap() { Map map = CollStreamUtil.toMap(null, Student::getStudentId, Student::getName); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.toMap(list, Student::getStudentId, Student::getName); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 1, 2, "李四")); list.add(new Student(1, 1, 3, "王五")); map = CollStreamUtil.toMap(list, Student::getStudentId, Student::getName); - assertEquals(map.get(1L), "张三"); - assertEquals(map.get(2L), "李四"); - assertEquals(map.get(3L), "王五"); + assertEquals("张三", map.get(1L)); + assertEquals("李四", map.get(2L)); + assertEquals("王五", map.get(3L)); assertNull(map.get(4L)); // 测试value为空时 @@ -64,7 +65,7 @@ public class CollStreamUtilTest { public void testToMap_KeyCollision_SilentlyOverwrite() { List list = new ArrayList<>(); list.add(new Student(1, 101, 1, "张三")); - list.add(new Student(1, 102, 1, "李四")); + list.add(new Student(1, 102, 1, "李四")); Map map = CollStreamUtil.toMap(list, Student::getStudentId, Student::getName, false); assertEquals(1, map.size()); @@ -97,10 +98,10 @@ public class CollStreamUtilTest { @Test public void testGroupByKey() { Map> map = CollStreamUtil.groupByKey(null, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.groupByKey(list, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 2, 2, "李四")); list.add(new Student(2, 1, 1, "擎天柱")); @@ -126,10 +127,10 @@ public class CollStreamUtilTest { @Test public void testGroupBy2Key() { Map>> map = CollStreamUtil.groupBy2Key(null, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.groupBy2Key(list, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 2, 2, "李四")); list.add(new Student(1, 2, 3, "王五")); @@ -165,11 +166,11 @@ public class CollStreamUtilTest { @Test public void testGroup2Map() { Map> map = CollStreamUtil.group2Map(null, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.group2Map(list, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 2, 1, "李四")); list.add(new Student(2, 2, 1, "王五")); @@ -186,7 +187,10 @@ public class CollStreamUtilTest { // 对null友好 Map> termIdClassIdStudentMap = CollStreamUtil.group2Map(Arrays.asList(null, new Student(2, 2, 1, "王五")), Student::getTermId, Student::getClassId); - Map> termIdClassIdStudentCompareMap = new HashMap>() {{ + Map> termIdClassIdStudentCompareMap = new HashMap>() { + private static final long serialVersionUID = -26683057599474572L; + + { put(null, MapUtil.of(null, null)); put(2L, MapUtil.of(2L, new Student(2, 2, 1, "王五"))); }}; @@ -196,11 +200,11 @@ public class CollStreamUtilTest { @Test public void testGroupKeyValue() { Map> map = CollStreamUtil.groupKeyValue(null, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); List list = new ArrayList<>(); map = CollStreamUtil.groupKeyValue(list, Student::getTermId, Student::getClassId); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); list.add(new Student(1, 1, 1, "张三")); list.add(new Student(1, 2, 1, "李四")); list.add(new Student(2, 2, 1, "王五")); @@ -218,12 +222,12 @@ public class CollStreamUtilTest { // 参数null测试 Map> map = CollStreamUtil.groupBy(null, Student::getTermId, Collectors.toList()); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); // 参数空数组测试 List list = new ArrayList<>(); map = CollStreamUtil.groupBy(list, Student::getTermId, Collectors.toList()); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); // 放入元素 list.add(new Student(1, 1, 1, "张三")); @@ -264,10 +268,10 @@ public class CollStreamUtilTest { @Test public void testTranslate2List() { List list = CollStreamUtil.toList(null, Student::getName); - assertEquals(list, Collections.EMPTY_LIST); + assertEquals(Collections.EMPTY_LIST, list); List students = new ArrayList<>(); list = CollStreamUtil.toList(students, Student::getName); - assertEquals(list, Collections.EMPTY_LIST); + assertEquals(Collections.EMPTY_LIST, list); students.add(new Student(1, 1, 1, "张三")); students.add(new Student(1, 2, 2, "李四")); students.add(new Student(2, 1, 1, "李四")); @@ -286,10 +290,10 @@ public class CollStreamUtilTest { @Test public void testTranslate2Set() { Set set = CollStreamUtil.toSet(null, Student::getName); - assertEquals(set, Collections.EMPTY_SET); + assertEquals(Collections.EMPTY_SET, set); List students = new ArrayList<>(); set = CollStreamUtil.toSet(students, Student::getName); - assertEquals(set, Collections.EMPTY_SET); + assertEquals(Collections.EMPTY_SET, set); students.add(new Student(1, 1, 1, "张三")); students.add(new Student(1, 2, 2, "李四")); students.add(new Student(2, 1, 1, "李四")); @@ -308,7 +312,7 @@ public class CollStreamUtilTest { Map map1 = null; Map map2 = Collections.emptyMap(); Map map = CollStreamUtil.merge(map1, map2, (s1, s2) -> s1.getName() + s2.getName()); - assertEquals(map, Collections.EMPTY_MAP); + assertEquals(Collections.EMPTY_MAP, map); map1 = new HashMap<>(); map1.put(1L, new Student(1, 1, 1, "张三")); map = CollStreamUtil.merge(map1, map2, this::merge); diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java index fea503b8a..61b17a1d6 100755 --- a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java @@ -230,7 +230,7 @@ public class CollUtilTest { final List r2 = CollUtil.subtractToList(map1.keySet(), map2.keySet()); assertEquals("[1]", r2.toString()); } - + @Test public void testSubtractWithDuplicates() { Collection coll1 = new ArrayList<>(Arrays.asList("a", "b", "b", "c")); @@ -874,7 +874,7 @@ public class CollUtilTest { @Test public void lastIndexOf_EmptyCollection() { List list = CollUtil.newArrayList(); - int idx = CollUtil.lastIndexOf(list, item -> item != null); + int idx = CollUtil.lastIndexOf(list, Objects::nonNull); assertEquals(-1, idx); } @@ -967,7 +967,7 @@ public class CollUtilTest { // 测试集合1和集合2不包含相同元素的情况 final List list1 = Arrays.asList("a", "b", "c"); final List list2 = Arrays.asList("d", "e", "f"); - + // 期望结果:返回集合1的完整拷贝 final List result = CollUtil.subtractToList(list1, list2); assertEquals(3, result.size()); @@ -976,11 +976,11 @@ public class CollUtilTest { assertEquals("c", result.get(2)); assertEquals(list1, result); assertNotSame(list1, result); // 确保返回的是拷贝而不是原始引用 - + // 测试集合1中有重复元素的情况 final List list3 = Arrays.asList("a", "a", "b", "b", "c"); final List list4 = Arrays.asList("d", "e", "f"); - + // 期望结果:返回集合1的完整拷贝,包括重复元素 final List result2 = CollUtil.subtractToList(list3, list4); assertEquals(5, result2.size()); @@ -991,11 +991,11 @@ public class CollUtilTest { assertEquals("c", result2.get(4)); assertEquals(list3, result2); assertNotSame(list3, result2); - + // 测试不同类型的元素但确保两个集合的泛型类型一致 final List list5 = Arrays.asList(1, 2, 3); final List list6 = Arrays.asList(4, 5, 6); - + // 期望结果:返回集合1的完整拷贝 final List result3 = CollUtil.subtractToList(list5, list6); assertEquals(3, result3.size()); @@ -1287,9 +1287,9 @@ public class CollUtilTest { genderMap.put(5, "小孩"); genderMap.put(6, "男"); - assertEquals(people.get(1).getGender(), "woman"); + assertEquals("woman", people.get(1).getGender()); CollUtil.setValueByMap(people, genderMap, Person::getId, Person::setGender); - assertEquals(people.get(1).getGender(), "妇女"); + assertEquals("妇女", people.get(1).getGender()); final Map personMap = new HashMap<>(); personMap.put(1, new Person("AA", 21, "男", 1)); @@ -1305,7 +1305,7 @@ public class CollUtilTest { x.setAge(y.getAge()); }); - assertEquals(people.get(1).getGender(), "小孩"); + assertEquals("小孩", people.get(1).getGender()); } @Test