mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
修复CaseInsensitiveLinkedMap顺序错误问题
This commit is contained in:
@@ -1,25 +1,29 @@
|
||||
package cn.hutool.core.map;
|
||||
|
||||
import cn.hutool.core.lang.Pair;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class CaseInsensitiveMapTest {
|
||||
|
||||
@Test
|
||||
public void caseInsensitiveMapTest() {
|
||||
CaseInsensitiveMap<String, String> map = new CaseInsensitiveMap<>();
|
||||
map.put("aAA", "OK");
|
||||
Assert.assertEquals("OK", map.get("aaa"));
|
||||
Assert.assertEquals("OK", map.get("AAA"));
|
||||
assertEquals("OK", map.get("aaa"));
|
||||
assertEquals("OK", map.get("AAA"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void caseInsensitiveLinkedMapTest() {
|
||||
CaseInsensitiveLinkedMap<String, String> map = new CaseInsensitiveLinkedMap<>();
|
||||
map.put("aAA", "OK");
|
||||
Assert.assertEquals("OK", map.get("aaa"));
|
||||
Assert.assertEquals("OK", map.get("AAA"));
|
||||
assertEquals("OK", map.get("aaa"));
|
||||
assertEquals("OK", map.get("AAA"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -31,6 +35,42 @@ public class CaseInsensitiveMapTest {
|
||||
map.merge(b.getKey(), b.getValue(), (A, B) -> A);
|
||||
map.merge(a.getKey(), a.getValue(), (A, B) -> A);
|
||||
|
||||
Assert.assertEquals(1, map.size());
|
||||
assertEquals(1, map.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void issueIA4K4FTest() {
|
||||
Map<String, Object> map = new CaseInsensitiveLinkedMap<>();
|
||||
map.put("b", 2);
|
||||
map.put("a", 1);
|
||||
|
||||
AtomicInteger index = new AtomicInteger();
|
||||
map.forEach((k, v) -> {
|
||||
if(0 == index.get()){
|
||||
assertEquals("b", k);
|
||||
} else if(1 == index.get()){
|
||||
assertEquals("a", k);
|
||||
}
|
||||
|
||||
index.getAndIncrement();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void issueIA4K4FTest2() {
|
||||
Map<String, Object> map = new CaseInsensitiveTreeMap<>();
|
||||
map.put("b", 2);
|
||||
map.put("a", 1);
|
||||
|
||||
AtomicInteger index = new AtomicInteger();
|
||||
map.forEach((k, v) -> {
|
||||
if(0 == index.get()){
|
||||
assertEquals("a", k);
|
||||
} else if(1 == index.get()){
|
||||
assertEquals("b", k);
|
||||
}
|
||||
|
||||
index.getAndIncrement();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user