commit
104cc28105
|
@ -26,6 +26,11 @@ import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
@ -136,4 +141,34 @@ public class ImmutablePairTest {
|
||||||
assertEquals(origPair, deserializedPair);
|
assertEquals(origPair, deserializedPair);
|
||||||
assertEquals(origPair.hashCode(), deserializedPair.hashCode());
|
assertEquals(origPair.hashCode(), deserializedPair.hashCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUseAsKeyOfHashMap() {
|
||||||
|
HashMap<ImmutablePair<Object, Object>, String> map = new HashMap<>();
|
||||||
|
Object o1 = new Object();
|
||||||
|
Object o2 = new Object();
|
||||||
|
ImmutablePair<Object, Object> key1 = ImmutablePair.of(o1, o2);
|
||||||
|
String value1 = "a1";
|
||||||
|
map.put(key1, value1);
|
||||||
|
assertEquals(value1, map.get(key1));
|
||||||
|
assertEquals(value1, map.get(ImmutablePair.of(o1, o2)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUseAsKeyOfTreeMap() {
|
||||||
|
TreeMap<ImmutablePair<Integer, Integer>, String> map = new TreeMap<>();
|
||||||
|
map.put(ImmutablePair.of(1, 2), "12");
|
||||||
|
map.put(ImmutablePair.of(1, 1), "11");
|
||||||
|
map.put(ImmutablePair.of(0, 1), "01");
|
||||||
|
ArrayList<ImmutablePair<Integer, Integer>> expected = new ArrayList<>();
|
||||||
|
expected.add(ImmutablePair.of(0, 1));
|
||||||
|
expected.add(ImmutablePair.of(1, 1));
|
||||||
|
expected.add(ImmutablePair.of(1, 2));
|
||||||
|
Iterator<Entry<ImmutablePair<Integer, Integer>, String>> it = map.entrySet().iterator();
|
||||||
|
for(ImmutablePair<Integer, Integer> item : expected) {
|
||||||
|
Entry<ImmutablePair<Integer, Integer>, String> entry = it.next();
|
||||||
|
assertEquals(item, entry.getKey());
|
||||||
|
assertEquals(item.getLeft() + "" + item.getRight(), entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,11 @@ import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
@ -142,5 +147,36 @@ public class ImmutableTripleTest {
|
||||||
assertEquals(origTriple, deserializedTriple);
|
assertEquals(origTriple, deserializedTriple);
|
||||||
assertEquals(origTriple.hashCode(), deserializedTriple.hashCode());
|
assertEquals(origTriple.hashCode(), deserializedTriple.hashCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUseAsKeyOfHashMap() {
|
||||||
|
HashMap<ImmutableTriple<Object, Object, Object>, String> map = new HashMap<>();
|
||||||
|
Object o1 = new Object();
|
||||||
|
Object o2 = new Object();
|
||||||
|
Object o3 = new Object();
|
||||||
|
ImmutableTriple<Object, Object, Object> key1 = ImmutableTriple.of(o1, o2, o3);
|
||||||
|
String value1 = "a1";
|
||||||
|
map.put(key1, value1);
|
||||||
|
assertEquals(value1, map.get(key1));
|
||||||
|
assertEquals(value1, map.get(ImmutableTriple.of(o1, o2, o3)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUseAsKeyOfTreeMap() {
|
||||||
|
TreeMap<ImmutableTriple<Integer, Integer, Integer>, String> map = new TreeMap<>();
|
||||||
|
map.put(ImmutableTriple.of(0, 1, 2), "012");
|
||||||
|
map.put(ImmutableTriple.of(0, 1, 1), "011");
|
||||||
|
map.put(ImmutableTriple.of(0, 0, 1), "001");
|
||||||
|
ArrayList<ImmutableTriple<Integer, Integer, Integer>> expected = new ArrayList<>();
|
||||||
|
expected.add(ImmutableTriple.of(0, 0, 1));
|
||||||
|
expected.add(ImmutableTriple.of(0, 1, 1));
|
||||||
|
expected.add(ImmutableTriple.of(0, 1, 2));
|
||||||
|
Iterator<Entry<ImmutableTriple<Integer, Integer, Integer>, String>> it = map.entrySet().iterator();
|
||||||
|
for(ImmutableTriple<Integer, Integer, Integer> item : expected) {
|
||||||
|
Entry<ImmutableTriple<Integer, Integer, Integer>, String> entry = it.next();
|
||||||
|
assertEquals(item, entry.getKey());
|
||||||
|
assertEquals(item.getLeft() + "" + item.getMiddle() + "" + item.getRight(), entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue