30 |
|
* @key randomness |
31 |
|
*/ |
32 |
|
|
33 |
– |
import java.util.*; |
34 |
– |
import java.util.function.Supplier; |
35 |
– |
import org.testng.annotations.Test; |
33 |
|
import org.testng.annotations.DataProvider; |
34 |
+ |
import org.testng.annotations.Test; |
35 |
+ |
|
36 |
+ |
import java.util.ArrayList; |
37 |
+ |
import java.util.Arrays; |
38 |
+ |
import java.util.Collection; |
39 |
+ |
import java.util.Collections; |
40 |
+ |
import java.util.HashSet; |
41 |
+ |
import java.util.Iterator; |
42 |
+ |
import java.util.List; |
43 |
+ |
import java.util.Random; |
44 |
+ |
import java.util.Set; |
45 |
+ |
import java.util.TreeSet; |
46 |
+ |
import java.util.function.Supplier; |
47 |
|
|
38 |
– |
import static org.testng.Assert.fail; |
48 |
|
import static org.testng.Assert.assertTrue; |
49 |
+ |
import static org.testng.Assert.fail; |
50 |
|
|
51 |
|
public class CheckedSetBash { |
52 |
|
static final int numItr = 100; |
132 |
|
} |
133 |
|
|
134 |
|
static void AddRandoms(Set s, int n) { |
135 |
< |
for (int i=0; i<n; i++) { |
136 |
< |
int r = rnd.nextInt() % n; |
127 |
< |
Integer e = new Integer(r < 0 ? -r : r); |
135 |
> |
for (int i = 0; i < n; i++) { |
136 |
> |
Integer e = rnd.nextInt(n); |
137 |
|
|
138 |
|
int preSize = s.size(); |
139 |
|
boolean prePresent = s.contains(e); |
155 |
|
ArrayList<Object[]> iters = new ArrayList<>(makeCheckedSets()); |
156 |
|
iters.ensureCapacity(numItr * iters.size()); |
157 |
|
for (int each=1; each < numItr; each++) { |
158 |
< |
iters.addAll( makeCheckedSets()); |
158 |
> |
iters.addAll(makeCheckedSets()); |
159 |
|
} |
160 |
|
return iters.iterator(); |
161 |
|
} |
162 |
|
|
163 |
|
public static Collection<Object[]> makeCheckedSets() { |
164 |
< |
return Arrays.asList( |
165 |
< |
new Object[]{"Collections.checkedSet(HashSet)", |
166 |
< |
(Supplier) () -> {return Collections.checkedSet(new HashSet(), Integer.class);}}, |
167 |
< |
new Object[]{"Collections.checkedSet(TreeSet(reverseOrder)", |
168 |
< |
(Supplier) () -> {return Collections.checkedSet(new TreeSet(Collections.reverseOrder()), Integer.class);}}, |
169 |
< |
new Object[]{"Collections.checkedSet(TreeSet).descendingSet()", |
170 |
< |
(Supplier) () -> {return Collections.checkedSet(new TreeSet().descendingSet(), Integer.class);}}, |
171 |
< |
new Object[]{"Collections.checkedNavigableSet(TreeSet)", |
172 |
< |
(Supplier) () -> {return Collections.checkedNavigableSet(new TreeSet(), Integer.class);}}, |
173 |
< |
new Object[]{"Collections.checkedNavigableSet(TreeSet(reverseOrder)", |
174 |
< |
(Supplier) () -> {return Collections.checkedNavigableSet(new TreeSet(Collections.reverseOrder()), Integer.class);}}, |
175 |
< |
new Object[]{"Collections.checkedNavigableSet().descendingSet()", |
176 |
< |
(Supplier) () -> {return Collections.checkedNavigableSet(new TreeSet().descendingSet(), Integer.class);}} |
177 |
< |
); |
164 |
> |
Object[][] params = { |
165 |
> |
{"Collections.checkedSet(HashSet)", |
166 |
> |
(Supplier) () -> Collections.checkedSet(new HashSet(), Integer.class)}, |
167 |
> |
{"Collections.checkedSet(TreeSet(reverseOrder))", |
168 |
> |
(Supplier) () -> Collections.checkedSet(new TreeSet(Collections.reverseOrder()), Integer.class)}, |
169 |
> |
{"Collections.checkedSet(TreeSet.descendingSet())", |
170 |
> |
(Supplier) () -> Collections.checkedSet(new TreeSet().descendingSet(), Integer.class)}, |
171 |
> |
{"Collections.checkedNavigableSet(TreeSet)", |
172 |
> |
(Supplier) () -> Collections.checkedNavigableSet(new TreeSet(), Integer.class)}, |
173 |
> |
{"Collections.checkedNavigableSet(TreeSet(reverseOrder))", |
174 |
> |
(Supplier) () -> Collections.checkedNavigableSet(new TreeSet(Collections.reverseOrder()), Integer.class)}, |
175 |
> |
{"Collections.checkedNavigableSet(TreeSet.descendingSet())", |
176 |
> |
(Supplier) () -> Collections.checkedNavigableSet(new TreeSet().descendingSet(), Integer.class)}, |
177 |
> |
}; |
178 |
> |
return Arrays.asList(params); |
179 |
|
} |
180 |
|
} |