|
28 | 28 |
|
29 | 29 | package uk.ac.sussex.gdsc.core.utils; |
30 | 30 |
|
| 31 | +import java.util.function.ObjIntConsumer; |
31 | 32 | import org.apache.commons.rng.UniformRandomProvider; |
32 | 33 | import org.junit.jupiter.api.Assertions; |
33 | 34 | import uk.ac.sussex.gdsc.core.utils.OpenHashMaps.CustomInt2IntOpenHashMap; |
34 | 35 | import uk.ac.sussex.gdsc.core.utils.OpenHashMaps.CustomInt2ObjectOpenHashMap; |
35 | 36 | import uk.ac.sussex.gdsc.core.utils.OpenHashMaps.CustomLong2IntOpenHashMap; |
36 | 37 | import uk.ac.sussex.gdsc.core.utils.OpenHashMaps.CustomObject2IntOpenHashMap; |
| 38 | +import uk.ac.sussex.gdsc.core.utils.function.IntIntConsumer; |
| 39 | +import uk.ac.sussex.gdsc.core.utils.function.IntObjConsumer; |
| 40 | +import uk.ac.sussex.gdsc.core.utils.function.LongIntConsumer; |
37 | 41 | import uk.ac.sussex.gdsc.test.junit5.SeededTest; |
38 | 42 | import uk.ac.sussex.gdsc.test.rng.RngFactory; |
39 | 43 | import uk.ac.sussex.gdsc.test.utils.RandomSeed; |
40 | 44 |
|
41 | | -@SuppressWarnings({"javadoc"}) |
| 45 | +@SuppressWarnings({"javadoc", "deprecation"}) |
42 | 46 | class OpenHashMapsTest { |
43 | 47 | @SeededTest |
44 | 48 | void testLong2IntForEach(RandomSeed seed) { |
45 | 49 | final UniformRandomProvider rng = RngFactory.create(seed.get()); |
46 | 50 | final CustomLong2IntOpenHashMap m = new CustomLong2IntOpenHashMap(); |
47 | | - m.forEach((long k, int v) -> { |
| 51 | + m.forEach((LongIntConsumer) (long k, int v) -> { |
48 | 52 | Assertions.fail(); |
49 | 53 | }); |
50 | 54 | for (int i = 0; i < 5; i++) { |
51 | 55 | m.put(rng.nextLong(), rng.nextInt()); |
52 | 56 | } |
53 | 57 | final CustomLong2IntOpenHashMap m2 = new CustomLong2IntOpenHashMap(16); |
54 | | - m.forEach((long k, int v) -> m2.put(k, v)); |
| 58 | + m.forEach((LongIntConsumer) (long k, int v) -> m2.put(k, v)); |
55 | 59 | Assertions.assertEquals(m2, m); |
56 | 60 | } |
57 | 61 |
|
58 | 62 | @SeededTest |
59 | 63 | void testInt2IntForEach(RandomSeed seed) { |
60 | 64 | final UniformRandomProvider rng = RngFactory.create(seed.get()); |
61 | 65 | final CustomInt2IntOpenHashMap m = new CustomInt2IntOpenHashMap(); |
62 | | - m.forEach((int k, int v) -> { |
| 66 | + m.forEach((IntIntConsumer) (int k, int v) -> { |
63 | 67 | Assertions.fail(); |
64 | 68 | }); |
65 | 69 | for (int i = 0; i < 5; i++) { |
66 | 70 | m.put(rng.nextInt(), rng.nextInt()); |
67 | 71 | } |
68 | 72 | final CustomInt2IntOpenHashMap m2 = new CustomInt2IntOpenHashMap(16); |
69 | | - m.forEach((int k, int v) -> m2.put(k, v)); |
| 73 | + m.forEach((IntIntConsumer) (int k, int v) -> m2.put(k, v)); |
70 | 74 | Assertions.assertEquals(m2, m); |
71 | 75 | } |
72 | 76 |
|
73 | 77 | @SeededTest |
74 | 78 | void testObject2IntForEach(RandomSeed seed) { |
75 | 79 | final UniformRandomProvider rng = RngFactory.create(seed.get()); |
76 | 80 | final CustomObject2IntOpenHashMap<Double> m = new CustomObject2IntOpenHashMap<>(); |
77 | | - m.forEach((Double k, int v) -> { |
| 81 | + m.forEach((ObjIntConsumer<Double>) (Double k, int v) -> { |
78 | 82 | Assertions.fail(); |
79 | 83 | }); |
80 | 84 | for (int i = 0; i < 5; i++) { |
81 | 85 | m.put(Double.valueOf(rng.nextDouble()), rng.nextInt()); |
82 | 86 | } |
83 | 87 | final CustomObject2IntOpenHashMap<Double> m2 = new CustomObject2IntOpenHashMap<>(16); |
84 | | - m.forEach((Double k, int v) -> m2.put(k, v)); |
| 88 | + m.forEach((ObjIntConsumer<Double>) (Double k, int v) -> m2.put(k, v)); |
85 | 89 | Assertions.assertEquals(m2, m); |
86 | 90 | } |
87 | 91 |
|
88 | 92 | @SeededTest |
89 | 93 | void testInt2ObjectForEach(RandomSeed seed) { |
90 | 94 | final UniformRandomProvider rng = RngFactory.create(seed.get()); |
91 | 95 | final CustomInt2ObjectOpenHashMap<Double> m = new CustomInt2ObjectOpenHashMap<>(); |
92 | | - m.forEach((int k, Double v) -> { |
| 96 | + m.forEach((IntObjConsumer<Double>) (int k, Double v) -> { |
93 | 97 | Assertions.fail(); |
94 | 98 | }); |
95 | 99 | for (int i = 0; i < 5; i++) { |
96 | 100 | m.put(rng.nextInt(), Double.valueOf(rng.nextDouble())); |
97 | 101 | } |
98 | 102 | final CustomInt2ObjectOpenHashMap<Double> m2 = new CustomInt2ObjectOpenHashMap<>(16); |
99 | | - m.forEach((int k, Double v) -> m2.put(k, v)); |
| 103 | + m.forEach((IntObjConsumer<Double>) (int k, Double v) -> m2.put(k, v)); |
100 | 104 | Assertions.assertEquals(m2, m); |
101 | 105 | } |
102 | 106 | } |
0 commit comments