This commit is contained in:
Looly 2023-04-04 23:57:36 +08:00
parent fafdbbd453
commit e588bde9f5
2 changed files with 88 additions and 1 deletions

View File

@ -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;
}

View File

@ -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<String, Integer> 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;
}
}