mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
@@ -10,6 +10,7 @@ import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ListUtilTest {
|
||||
|
||||
@@ -46,6 +47,27 @@ public class ListUtilTest {
|
||||
Assert.assertEquals("edit3", filter.get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void countMapTest(){
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("AAA");
|
||||
list.add("BBB");
|
||||
list.add("AAA");
|
||||
list.add("CCC");
|
||||
list.add("DDD");
|
||||
list.add("DDD");
|
||||
//统计不排序
|
||||
Map<?, Long> countMap = ListUtil.countMap(list);
|
||||
Console.log(countMap);
|
||||
//统计倒序排列
|
||||
Map<String, Long> descCountMap = ListUtil.countMap(list, Boolean.TRUE);
|
||||
Console.log(descCountMap);
|
||||
//统计正序排列
|
||||
Map<String, Long> ascCountMap= ListUtil.countMap(list, Boolean.FALSE);
|
||||
Console.log(ascCountMap);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void indexOfAll() {
|
||||
List<String> a = ListUtil.toLinkedList("1", "2", "3", "4", "3", "2", "1");
|
||||
|
||||
@@ -20,6 +20,18 @@ public class ValidatorTest {
|
||||
Assert.assertTrue(Validator.isNumber("0.33323"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hasNumberTest() throws Exception {
|
||||
String var1 = "";
|
||||
String var2 = "str";
|
||||
String var3 = "180";
|
||||
String var4 = "身高180体重180";
|
||||
Assert.assertFalse(Validator.hasNumber(var1));
|
||||
Assert.assertFalse(Validator.hasNumber(var2));
|
||||
Assert.assertTrue(Validator.hasNumber(var3));
|
||||
Assert.assertTrue(Validator.hasNumber(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isLetterTest() {
|
||||
Assert.assertTrue(Validator.isLetter("asfdsdsfds"));
|
||||
|
||||
@@ -24,4 +24,127 @@ public class CharSequenceUtilTest {
|
||||
result = CharSequenceUtil.addSuffixIfNot(str, " is Good");
|
||||
Assert.assertEquals( str + " is Good", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithNumberTest() throws Exception {
|
||||
String var1 = "123str";
|
||||
String var2 = "180公斤";
|
||||
String var3 = "str";
|
||||
String var4 = "身高180";
|
||||
Assert.assertTrue(CharSequenceUtil.startWithNumber(var1));
|
||||
Assert.assertTrue(CharSequenceUtil.startWithNumber(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithNumber(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithNumber(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithGeneralTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "123";
|
||||
String var3 = "_str";
|
||||
String var4 = "身高180";
|
||||
Assert.assertTrue(CharSequenceUtil.startWithGeneral(var1));
|
||||
Assert.assertTrue(CharSequenceUtil.startWithGeneral(var2));
|
||||
Assert.assertTrue(CharSequenceUtil.startWithGeneral(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithGeneral(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithWordTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "123";
|
||||
String var3 = "_str";
|
||||
String var4 = "身高180";
|
||||
Assert.assertTrue(CharSequenceUtil.startWithWord(var1));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithWord(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithWord(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithWord(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithChineseTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "_str";
|
||||
String var3 = "123";
|
||||
String var4 = "身高180";
|
||||
Assert.assertFalse(CharSequenceUtil.startWithChinese(var1));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithChinese(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.startWithChinese(var3));
|
||||
Assert.assertTrue(CharSequenceUtil.startWithChinese(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endWithNumberTest() throws Exception {
|
||||
String var1 = "str123";
|
||||
String var2 = "身高180";
|
||||
String var3 = "str";
|
||||
String var4 = "180公斤";
|
||||
Assert.assertTrue(CharSequenceUtil.endWithNumber(var1));
|
||||
Assert.assertTrue(CharSequenceUtil.endWithNumber(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithNumber(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithNumber(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endWithGeneralTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "123";
|
||||
String var3 = "str_";
|
||||
String var4 = "180公斤";
|
||||
Assert.assertTrue(CharSequenceUtil.endWithGeneral(var1));
|
||||
Assert.assertTrue(CharSequenceUtil.endWithGeneral(var2));
|
||||
Assert.assertTrue(CharSequenceUtil.endWithGeneral(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithGeneral(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endWithWordTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "_str";
|
||||
String var3 = "123";
|
||||
String var4 = "身高180";
|
||||
Assert.assertTrue(CharSequenceUtil.endWithWord(var1));
|
||||
Assert.assertTrue(CharSequenceUtil.endWithWord(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithWord(var3));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithWord(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endWithChineseTest() throws Exception {
|
||||
String var1 = "str";
|
||||
String var2 = "_str";
|
||||
String var3 = "123";
|
||||
String var4 = "180公斤";
|
||||
Assert.assertFalse(CharSequenceUtil.endWithChinese(var1));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithChinese(var2));
|
||||
Assert.assertFalse(CharSequenceUtil.endWithChinese(var3));
|
||||
Assert.assertTrue(CharSequenceUtil.endWithChinese(var4));
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------ remove
|
||||
|
||||
@Test
|
||||
public void removeNumbersTest(){
|
||||
String var1 = "";
|
||||
String var2 = "str";
|
||||
String var3 = "身高180";
|
||||
String var4 = "身高180体重180";
|
||||
Assert.assertEquals("", CharSequenceUtil.removeNumbers(var1));
|
||||
Assert.assertEquals("str", CharSequenceUtil.removeNumbers(var2));
|
||||
Assert.assertEquals("身高", CharSequenceUtil.removeNumbers(var3));
|
||||
Assert.assertEquals("身高体重", CharSequenceUtil.removeNumbers(var4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removeChineseTest(){
|
||||
String var1 = "";
|
||||
String var2 = "str";
|
||||
String var3 = "身高180";
|
||||
String var4 = "身高180体重180cm";
|
||||
Assert.assertEquals("", CharSequenceUtil.removeChinese(var1));
|
||||
Assert.assertEquals("str", CharSequenceUtil.removeChinese(var2));
|
||||
Assert.assertEquals("180", CharSequenceUtil.removeChinese(var3));
|
||||
Assert.assertEquals("180180cm", CharSequenceUtil.removeChinese(var4));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -178,10 +178,20 @@ public class NumberUtilTest {
|
||||
Assert.assertTrue(NumberUtil.equals(new BigDecimal("0.00"), BigDecimal.ZERO));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void percentTest(){
|
||||
Assert.assertEquals(30, NumberUtil.percent(3, 10));
|
||||
Assert.assertEquals(20, NumberUtil.percent(1, 5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatPercentTest() {
|
||||
String str = NumberUtil.formatPercent(0.33543545, 2);
|
||||
Assert.assertEquals("33.54%", str);
|
||||
|
||||
Assert.assertEquals("30%", NumberUtil.formatPercent(3, 10, 0));
|
||||
Assert.assertEquals("33.33%", NumberUtil.formatPercent(1, 3, 2));
|
||||
Assert.assertEquals("33.333%", NumberUtil.formatPercent(1, 3, 3));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package cn.hutool.core.util;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.PatternPool;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -23,7 +24,7 @@ public class ReUtilTest {
|
||||
String resultExtractMulti = ReUtil.extractMulti("(\\w)aa(\\w)", content, "$1-$2");
|
||||
Assert.assertEquals("Z-a", resultExtractMulti);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void extractMultiTest2() {
|
||||
// 抽取多个分组然后把它们拼接起来
|
||||
@@ -37,7 +38,32 @@ public class ReUtilTest {
|
||||
String resultDelFirst = ReUtil.delFirst("(\\w)aa(\\w)", content);
|
||||
Assert.assertEquals("ZZbbbccc中文1234", resultDelFirst);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void delLastTest(){
|
||||
String blank = "";
|
||||
String word = "180公斤";
|
||||
String sentence = "10.商品KLS100021型号xxl适合身高180体重130斤的用户";
|
||||
//空字符串兼容
|
||||
Assert.assertEquals(blank,ReUtil.delLast("\\d+", blank));
|
||||
Assert.assertEquals(blank,ReUtil.delLast(PatternPool.NUMBERS, blank));
|
||||
|
||||
//去除数字
|
||||
Assert.assertEquals("公斤",ReUtil.delLast("\\d+", word));
|
||||
Assert.assertEquals("公斤",ReUtil.delLast(PatternPool.NUMBERS, word));
|
||||
//去除汉字
|
||||
Assert.assertEquals("180",ReUtil.delLast("[\u4E00-\u9FFF]+", word));
|
||||
Assert.assertEquals("180",ReUtil.delLast(PatternPool.CHINESES, word));
|
||||
|
||||
//多个匹配删除最后一个 判断是否不在包含最后的数字
|
||||
Assert.assertFalse(ReUtil.delLast("\\d+", sentence).contains("130"));
|
||||
Assert.assertFalse(ReUtil.delLast(PatternPool.NUMBERS, sentence).contains("130"));
|
||||
|
||||
//多个匹配删除最后一个 判断是否不在包含最后的数字
|
||||
Assert.assertFalse(ReUtil.delLast("[\u4E00-\u9FFF]+", sentence).contains("斤的用户"));
|
||||
Assert.assertFalse(ReUtil.delLast(PatternPool.CHINESES, sentence).contains("斤的用户"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void delAllTest() {
|
||||
// 删除所有匹配到的内容
|
||||
@@ -60,14 +86,14 @@ public class ReUtilTest {
|
||||
Integer resultGetFirstNumber = ReUtil.getFirstNumber(content);
|
||||
Assert.assertEquals(Integer.valueOf(1234), resultGetFirstNumber);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void isMatchTest() {
|
||||
// 给定字符串是否匹配给定正则
|
||||
boolean isMatch = ReUtil.isMatch("\\w+[\u4E00-\u9FFF]+\\d+", content);
|
||||
Assert.assertTrue(isMatch);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void replaceAllTest() {
|
||||
//通过正则查找到字符串,然后把匹配到的字符串加入到replacementTemplate中,$1表示分组1的字符串
|
||||
@@ -75,43 +101,43 @@ public class ReUtilTest {
|
||||
String replaceAll = ReUtil.replaceAll(content, "(\\d+)", "->$1<-");
|
||||
Assert.assertEquals("ZZZaaabbbccc中文->1234<-", replaceAll);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void replaceAllTest2() {
|
||||
//此处把1234替换为 ->1234<-
|
||||
String replaceAll = ReUtil.replaceAll(this.content, "(\\d+)", parameters -> "->" + parameters.group(1) + "<-");
|
||||
Assert.assertEquals("ZZZaaabbbccc中文->1234<-", replaceAll);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void replaceTest() {
|
||||
String str = "AAABBCCCBBDDDBB";
|
||||
String replace = StrUtil.replace(str, 0, "BB", "22", false);
|
||||
Assert.assertEquals("AAA22CCC22DDD22", replace);
|
||||
|
||||
|
||||
replace = StrUtil.replace(str, 3, "BB", "22", false);
|
||||
Assert.assertEquals("AAA22CCC22DDD22", replace);
|
||||
|
||||
|
||||
replace = StrUtil.replace(str, 4, "BB", "22", false);
|
||||
Assert.assertEquals("AAABBCCC22DDD22", replace);
|
||||
|
||||
|
||||
replace = StrUtil.replace(str, 4, "bb", "22", true);
|
||||
Assert.assertEquals("AAABBCCC22DDD22", replace);
|
||||
|
||||
|
||||
replace = StrUtil.replace(str, 4, "bb", "", true);
|
||||
Assert.assertEquals("AAABBCCCDDD", replace);
|
||||
|
||||
|
||||
replace = StrUtil.replace(str, 4, "bb", null, true);
|
||||
Assert.assertEquals("AAABBCCCDDD", replace);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void escapeTest() {
|
||||
//转义给定字符串,为正则相关的特殊符号转义
|
||||
String escape = ReUtil.escape("我有个$符号{}");
|
||||
Assert.assertEquals("我有个\\$符号\\{\\}", escape);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getAllGroupsTest() {
|
||||
//转义给定字符串,为正则相关的特殊符号转义
|
||||
@@ -121,7 +147,7 @@ public class ReUtilTest {
|
||||
Assert.assertEquals("192", allGroups.get(1));
|
||||
Assert.assertEquals("168", allGroups.get(2));
|
||||
Assert.assertEquals("1", allGroups.get(3));
|
||||
|
||||
|
||||
allGroups = ReUtil.getAllGroups(pattern, "192-168-1-1", false);
|
||||
Assert.assertEquals("192", allGroups.get(0));
|
||||
Assert.assertEquals("168", allGroups.get(1));
|
||||
|
||||
@@ -4,7 +4,9 @@ import cn.hutool.core.lang.Dict;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 字符串工具类单元测试
|
||||
@@ -508,4 +510,21 @@ public class StrUtilTest {
|
||||
Assert.assertEquals("jackduan@163.com", StrUtil.hide("jackduan@163.com", 16, 16));
|
||||
Assert.assertEquals("jackduan@163.com", StrUtil.hide("jackduan@163.com", 16, 17));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void wordCountTest(){
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("Word Count");
|
||||
list.add("Hello world");
|
||||
list.add("Hello java");
|
||||
list.add("Hello Hutool");
|
||||
list.add("A set of tools that keep Java sweet");
|
||||
Map<String, Long> listCountMap = StrUtil.wordCount(list, " ");
|
||||
Assert.assertEquals(3L, listCountMap.get("Hello").longValue());
|
||||
|
||||
String singleton = "Can you can a can as a canner can can a can ?";
|
||||
Map<String, Long> strCountMap = StrUtil.wordCount(singleton, " ");
|
||||
Assert.assertEquals(5L, strCountMap.get("can").longValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user