22 */
23
24 import java.lang.reflect.Field;
25 import java.util.ArrayList;
26 import java.util.Collections;
27 import java.util.IdentityHashMap;
28 import java.util.List;
29 import java.util.Random;
30
31 import org.testng.annotations.DataProvider;
32 import org.testng.annotations.Test;
33
34 import static org.testng.Assert.*;
35
36 /*
37 * @test
38 * @bug 6904367
39 * @summary IdentityHashMap reallocates storage when inserting expected
40 * number of elements
41 * @run testng Capacity
42 */
43
44 @Test
45 public class Capacity {
46 static final Field tableField;
47 static final Random random = new Random();
48 static final Object[][] sizesData;
49
50 @DataProvider(name="sizes", parallel = true)
51 public Object[][] sizesToTest() { return sizesData; }
52
53 static {
54 try {
55 tableField = IdentityHashMap.class.getDeclaredField("table");
56 tableField.setAccessible(true);
57 } catch (NoSuchFieldException e) {
58 throw new LinkageError("table", e);
59 }
60
61 ArrayList<Object[]> sizes = new ArrayList<>();
|
22 */
23
24 import java.lang.reflect.Field;
25 import java.util.ArrayList;
26 import java.util.Collections;
27 import java.util.IdentityHashMap;
28 import java.util.List;
29 import java.util.Random;
30
31 import org.testng.annotations.DataProvider;
32 import org.testng.annotations.Test;
33
34 import static org.testng.Assert.*;
35
36 /*
37 * @test
38 * @bug 6904367
39 * @summary IdentityHashMap reallocates storage when inserting expected
40 * number of elements
41 * @run testng Capacity
42 * @key randomness
43 */
44
45 @Test
46 public class Capacity {
47 static final Field tableField;
48 static final Random random = new Random();
49 static final Object[][] sizesData;
50
51 @DataProvider(name="sizes", parallel = true)
52 public Object[][] sizesToTest() { return sizesData; }
53
54 static {
55 try {
56 tableField = IdentityHashMap.class.getDeclaredField("table");
57 tableField.setAccessible(true);
58 } catch (NoSuchFieldException e) {
59 throw new LinkageError("table", e);
60 }
61
62 ArrayList<Object[]> sizes = new ArrayList<>();
|