From e588bde9f541a7cf20d09231380528be734258f6 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 4 Apr 2023 23:57:36 +0800 Subject: [PATCH] fix code --- .../core/convert/impl/EntryConverter.java | 2 +- .../hutool/core/convert/EntryConvertTest.java | 87 +++++++++++++++++++ 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 hutool-core/src/test/java/org/dromara/hutool/core/convert/EntryConvertTest.java diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EntryConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EntryConverter.java index 57e69cc27..9430dfdfa 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EntryConverter.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EntryConverter.java @@ -102,7 +102,7 @@ public class EntryConverter implements Converter { 0, str.length()); if (index > -1) { - return MapUtil.of(str.subSequence(0, index + 1), str.subSequence(index, str.length())); + return MapUtil.of(str.subSequence(0, index), str.subSequence(index + 1, str.length())); } return null; } diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/convert/EntryConvertTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/convert/EntryConvertTest.java new file mode 100644 index 000000000..4ebd1b29f --- /dev/null +++ b/hutool-core/src/test/java/org/dromara/hutool/core/convert/EntryConvertTest.java @@ -0,0 +1,87 @@ +package org.dromara.hutool.core.convert; + +import lombok.Data; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.AbstractMap; +import java.util.HashMap; +import java.util.Map; + +public class EntryConvertTest { + + @Test + void beanToEntryTest() { + final KVBean kvBean = new KVBean(); + kvBean.setKey("a"); + kvBean.setValue(1); + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, kvBean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals(1, entry.getValue()); + } + + @Test + void beanToEntryTest2() { + final SingleBean bean = new SingleBean(); + bean.setA("1"); + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, bean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals("1", entry.getValue()); + } + + @Test + void mapToEntryTest() { + final Map bean = new HashMap<>(); + bean.put("a", 1); + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, bean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals(1, entry.getValue()); + } + + @Test + void strToEntryTest() { + final String bean = "a=1"; + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, bean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals("1", entry.getValue()); + } + + @Test + void strToEntryTest2() { + final String bean = "a:1"; + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, bean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals("1", entry.getValue()); + } + + @Test + void strToEntryTest3() { + final String bean = "a,1"; + final AbstractMap.SimpleEntry entry = (AbstractMap.SimpleEntry) CompositeConverter.getInstance() + .convert(AbstractMap.SimpleEntry.class, bean); + + Assertions.assertEquals("a", entry.getKey()); + Assertions.assertEquals("1", entry.getValue()); + } + + @Data + static class KVBean{ + private String key; + private Integer value; + } + + @Data + static class SingleBean{ + private String a; + } +}