--- old/test/java/util/LinkedHashMap/Basic.java 2013-12-16 19:35:03.224071746 -0800 +++ new/test/java/util/LinkedHashMap/Basic.java 2013-12-16 19:35:03.072071739 -0800 @@ -23,28 +23,29 @@ /** * @test - * @bug 4245809 + * @bug 4245809 8029795 * @summary Basic test for LinkedHashMap. (Based on MapBash) */ import java.util.*; +import java.util.function.*; import java.io.*; public class Basic { - static Random rnd = new Random(666); - static Object nil = new Integer(0); + final static Random rnd = new Random(666); + final static Integer nil = new Integer(0); public static void main(String[] args) throws Exception { int numItr = 500; int mapSize = 500; - // Linked List test + // Linked List testk for (int i=0; i m = new LinkedHashMap(); + Integer head = nil; for (int j=0; j m2 = new LinkedHashMap(); m2.putAll(m); m2.values().removeAll(m.keySet()); if (m2.size()!= 1 || !m2.containsValue(nil)) throw new Exception("Collection views test failed."); @@ -66,7 +67,7 @@ while (head != nil) { if (!m.containsKey(head)) throw new Exception("Linked list doesn't contain a link."); - Object newHead = m.get(head); + Integer newHead = m.get(head); if (newHead == null) throw new Exception("Could not retrieve a link."); m.remove(head); @@ -79,7 +80,7 @@ throw new Exception("Linked list size not as expected."); } - Map m = new LinkedHashMap(); + Map m = new LinkedHashMap(); for (int i=0; i m2 = new LinkedHashMap(); m2.putAll(m); if (!m.equals(m2)) throw new Exception("Clone not equal to original. (1)"); if (!m2.equals(m)) throw new Exception("Clone not equal to original. (2)"); - Set s = m.entrySet(), s2 = m2.entrySet(); + Set> s = m.entrySet(), s2 = m2.entrySet(); if (!s.equals(s2)) throw new Exception("Clone not equal to original. (3)"); if (!s2.equals(s)) @@ -137,7 +138,7 @@ // Test ordering properties with insert order m = new LinkedHashMap(); - List l = new ArrayList(mapSize); + List l = new ArrayList(mapSize); for (int i=0; i l2 = new ArrayList(l); Collections.shuffle(l2); for (int i=0; i f = (Integer y, Integer z) -> { + if (!Objects.equals(y,z)) + throw new RuntimeException("unequal " + y + "," + z); + return new Integer(z); + }; + + for (int i=0; i