add MapJoiner

This commit is contained in:
Looly
2022-10-22 19:58:25 +08:00
parent d748366dfe
commit df108a2dd7
6 changed files with 181 additions and 27 deletions

View File

@@ -0,0 +1,25 @@
package cn.hutool.core.map;
import org.junit.Assert;
import org.junit.Test;
public class MapJoinerTest {
@Test
public void joinMapTest(){
final Dict v1 = Dict.of().set("id", 12).set("name", "张三").set("age", 23);
final MapJoiner joiner = MapJoiner.of("+", "-");
joiner.append(v1, null);
Assert.assertEquals("id-12+name-张三+age-23", joiner.toString());
}
@Test
public void joinMapWithPredicateTest(){
final Dict v1 = Dict.of().set("id", 12).set("name", "张三").set("age", 23);
final MapJoiner joiner = MapJoiner.of("+", "-");
joiner.append(v1, (entry)->"age".equals(entry.getKey()));
Assert.assertEquals("age-23", joiner.toString());
}
}

View File

@@ -240,4 +240,11 @@ public class MapUtilTest {
Assert.assertTrue(v2s.contains(13));
Assert.assertTrue(v2s.contains("李四"));
}
@Test
public void joinIgnoreNullTest() {
final Dict v1 = Dict.of().set("id", 12).set("name", "张三").set("age", null);
final String s = MapUtil.joinIgnoreNull(v1, ",", "=");
Assert.assertEquals("id=12,name=张三", s);
}
}