mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix methods
This commit is contained in:
@@ -9,6 +9,9 @@ import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -27,6 +30,7 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* 集合工具类单元测试
|
||||
@@ -35,6 +39,21 @@ import java.util.SortedSet;
|
||||
*/
|
||||
public class CollUtilTest {
|
||||
|
||||
@Test
|
||||
public void defaultIfEmpty() {
|
||||
ArrayList<String> strings = CollUtil.defaultIfEmpty(ListUtil.of(), ListUtil.of("1"));
|
||||
Assert.assertEquals(ListUtil.of("1"), strings);
|
||||
|
||||
strings = CollUtil.defaultIfEmpty(null, ListUtil.of("1"));
|
||||
Assert.assertEquals(ListUtil.of("1"), strings);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultIfEmpty2() {
|
||||
ArrayList<String> strings = CollUtil.defaultIfEmpty(ListUtil.of(), Function.identity(), () -> ListUtil.of("1"));
|
||||
Assert.assertEquals(ListUtil.of("1"), strings);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPredicateContains() {
|
||||
final ArrayList<String> list = ListUtil.of("bbbbb", "aaaaa", "ccccc");
|
||||
@@ -974,4 +993,39 @@ public class CollUtilTest {
|
||||
final Collection<String> collection = CollUtil.intersectionDistinct(list1, list2, list3);
|
||||
Assert.assertNotNull(collection);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addIfAbsentTest() {
|
||||
// 为false的情况
|
||||
Assert.assertFalse(CollUtil.addIfAbsent(null, null));
|
||||
Assert.assertFalse(CollUtil.addIfAbsent(ListUtil.of(), null));
|
||||
Assert.assertFalse(CollUtil.addIfAbsent(null, "123"));
|
||||
Assert.assertFalse(CollUtil.addIfAbsent(ListUtil.of("123"), "123"));
|
||||
Assert.assertFalse(CollUtil.addIfAbsent(ListUtil.of(new Animal("jack", 20)),
|
||||
new Animal("jack", 20)));
|
||||
|
||||
// 正常情况
|
||||
Assert.assertTrue(CollUtil.addIfAbsent(ListUtil.of("456"), "123"));
|
||||
Assert.assertTrue(CollUtil.addIfAbsent(ListUtil.of(new Animal("jack", 20)),
|
||||
new Dog("jack", 20)));
|
||||
Assert.assertTrue(CollUtil.addIfAbsent(ListUtil.of(new Animal("jack", 20)),
|
||||
new Animal("tom", 20)));
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
static class Animal {
|
||||
private String name;
|
||||
private Integer age;
|
||||
}
|
||||
|
||||
@ToString(callSuper = true)
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
static class Dog extends Animal {
|
||||
public Dog(String name, Integer age) {
|
||||
super(name, age);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,12 @@
|
||||
package cn.hutool.core.text;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class CharSequenceUtilTest {
|
||||
@@ -166,4 +169,30 @@ public class CharSequenceUtilTest {
|
||||
final String a = "2142342422423423";
|
||||
Assert.assertTrue(StrUtil.containsAll(a, "214", "234"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultIfEmptyTest() {
|
||||
final String emptyValue = "";
|
||||
final Instant result1 = CharSequenceUtil.defaultIfEmpty(emptyValue,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result1);
|
||||
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result2 = CharSequenceUtil.defaultIfEmpty(dateStr,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultIfBlankTest() {
|
||||
final String emptyValue = " ";
|
||||
final Instant result1 = CharSequenceUtil.defaultIfBlank(emptyValue,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result1);
|
||||
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result2 = CharSequenceUtil.defaultIfBlank(dateStr,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result2);
|
||||
}
|
||||
}
|
||||
|
@@ -99,25 +99,14 @@ public class ObjUtilTest {
|
||||
|
||||
@Test
|
||||
public void defaultIfNullTest() {
|
||||
final String nullValue = null;
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result1 = ObjUtil.defaultIfNull(dateStr,
|
||||
() -> DateUtil.parse(dateStr, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now());
|
||||
(v) -> DateUtil.parse(v.toString(), DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result1);
|
||||
final Instant result2 = ObjUtil.defaultIfNull(nullValue,
|
||||
() -> DateUtil.parse(nullValue, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now());
|
||||
Assert.assertNotNull(result2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultIfEmptyTest() {
|
||||
final String emptyValue = "";
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result1 = ObjUtil.defaultIfEmpty(emptyValue,
|
||||
() -> DateUtil.parse(emptyValue, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now());
|
||||
Assert.assertNotNull(result1);
|
||||
final Instant result2 = ObjUtil.defaultIfEmpty(dateStr,
|
||||
() -> DateUtil.parse(dateStr, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now());
|
||||
final String nullValue = null;
|
||||
final Instant result2 = ObjUtil.defaultIfNull(nullValue,
|
||||
(v) -> DateUtil.parse(v.toString(), DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assert.assertNotNull(result2);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user