Skip to content

Commit a89bd32

Browse files
Factor out content manipulating methods from tests to a separate file
1 parent 56a2dc6 commit a89bd32

File tree

3 files changed

+140
-48
lines changed

3 files changed

+140
-48
lines changed
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
package generatedtest;
2+
3+
import com.google.common.base.Function;
4+
import com.google.common.base.Optional;
5+
import com.google.common.base.Predicate;
6+
import com.google.common.collect.ArrayListMultimap;
7+
import com.google.common.collect.ArrayTable;
8+
import com.google.common.collect.BiMap;
9+
import com.google.common.collect.ClassToInstanceMap;
10+
import com.google.common.collect.Collections2;
11+
import com.google.common.collect.ConcurrentHashMultiset;
12+
import com.google.common.collect.HashBasedTable;
13+
import com.google.common.collect.HashBiMap;
14+
import com.google.common.collect.HashMultimap;
15+
import com.google.common.collect.HashMultiset;
16+
import com.google.common.collect.ImmutableClassToInstanceMap;
17+
import com.google.common.collect.ImmutableCollection;
18+
import com.google.common.collect.ImmutableList;
19+
import com.google.common.collect.ImmutableListMultimap;
20+
import com.google.common.collect.ImmutableMap;
21+
import com.google.common.collect.ImmutableMultimap;
22+
import com.google.common.collect.ImmutableMultiset;
23+
import com.google.common.collect.ImmutableSet;
24+
import com.google.common.collect.ImmutableSetMultimap;
25+
import com.google.common.collect.ImmutableSortedMap;
26+
import com.google.common.collect.ImmutableSortedMultiset;
27+
import com.google.common.collect.ImmutableSortedSet;
28+
import com.google.common.collect.ImmutableTable;
29+
import com.google.common.collect.Iterables;
30+
import com.google.common.collect.Iterators;
31+
import com.google.common.collect.LinkedHashMultimap;
32+
import com.google.common.collect.LinkedHashMultiset;
33+
import com.google.common.collect.LinkedListMultimap;
34+
import com.google.common.collect.ListMultimap;
35+
import com.google.common.collect.Lists;
36+
import com.google.common.collect.MapDifference;
37+
import com.google.common.collect.Maps;
38+
import com.google.common.collect.Multimap;
39+
import com.google.common.collect.Multimaps;
40+
import com.google.common.collect.Multiset;
41+
import com.google.common.collect.Multisets;
42+
import com.google.common.collect.MutableClassToInstanceMap;
43+
import com.google.common.collect.ObjectArrays;
44+
import com.google.common.collect.PeekingIterator;
45+
import com.google.common.collect.Queues;
46+
import com.google.common.collect.RowSortedTable;
47+
import com.google.common.collect.SetMultimap;
48+
import com.google.common.collect.Sets;
49+
import com.google.common.collect.SortedMapDifference;
50+
import com.google.common.collect.SortedMultiset;
51+
import com.google.common.collect.SortedSetMultimap;
52+
import com.google.common.collect.Table;
53+
import com.google.common.collect.Tables;
54+
import com.google.common.collect.TreeBasedTable;
55+
import com.google.common.collect.TreeMultimap;
56+
import com.google.common.collect.TreeMultiset;
57+
import com.google.common.collect.UnmodifiableIterator;
58+
import java.util.ArrayDeque;
59+
import java.util.ArrayList;
60+
import java.util.Collection;
61+
import java.util.Comparator;
62+
import java.util.Deque;
63+
import java.util.Enumeration;
64+
import java.util.HashMap;
65+
import java.util.HashSet;
66+
import java.util.Iterator;
67+
import java.util.LinkedHashMap;
68+
import java.util.LinkedHashSet;
69+
import java.util.LinkedList;
70+
import java.util.List;
71+
import java.util.Map;
72+
import java.util.NavigableMap;
73+
import java.util.NavigableSet;
74+
import java.util.PriorityQueue;
75+
import java.util.Properties;
76+
import java.util.Queue;
77+
import java.util.Set;
78+
import java.util.SortedMap;
79+
import java.util.SortedSet;
80+
import java.util.TreeMap;
81+
import java.util.TreeSet;
82+
import java.util.concurrent.BlockingQueue;
83+
import java.util.concurrent.ConcurrentLinkedQueue;
84+
import java.util.concurrent.CopyOnWriteArrayList;
85+
import java.util.concurrent.CopyOnWriteArraySet;
86+
import java.util.concurrent.LinkedBlockingDeque;
87+
import java.util.concurrent.LinkedBlockingQueue;
88+
import java.util.concurrent.PriorityBlockingQueue;
89+
90+
// Methods for manipulating contents for use in tests
91+
class Methods {
92+
<T> T getArrayElement(T[] container) { return container[0]; }
93+
<T> T getElement(Collection<T> container) { return container.iterator().next(); }
94+
<T> T getElement(ImmutableCollection.Builder<T> container) { return getElement(container.build()); }
95+
<T> T getElement(Iterable<T> container) { return container.iterator().next(); }
96+
<T> T getElement(Iterator<T> container) { return container.next(); }
97+
<T> T getElement(Optional<T> container) { return container.get(); }
98+
<T> T getElement(Enumeration<T> container) { return container.nextElement(); }
99+
<T> T getElement(Multiset.Entry<T> container) { return container.getElement(); }
100+
<K,V> Map<K,V> getMapDifference_left(MapDifference<K,V> container) { return container.entriesOnlyOnLeft(); }
101+
<V> V getMapDifference_left(MapDifference.ValueDifference<V> container) { return container.leftValue(); }
102+
<K,V> Map<K,V> getMapDifference_right(MapDifference<K,V> container) { return container.entriesOnlyOnRight(); }
103+
<V> V getMapDifference_right(MapDifference.ValueDifference<V> container) { return container.rightValue(); }
104+
<K,V> K getMapKey(Map<K,V> container) { return getElement(container.keySet()); }
105+
<K,V> K getMapKey(Multimap<K,V> container) { return getElement(container.keySet()); }
106+
<K,V> K getMapKey(Map.Entry<K,V> container) { return container.getKey(); }
107+
<K,V> K getMapKey(ImmutableMap.Builder<K,V> container) { return getMapKey(container.build()); }
108+
<K,V> K getMapKey(ImmutableMultimap.Builder<K,V> container) { return getMapKey(container.build()); }
109+
<K,V> V getMapValue(Map<K,V> container) { return getElement(container.values()); }
110+
<K,V> V getMapValue(Multimap<K,V> container) { return getElement(container.values()); }
111+
<K,V> V getMapValue(Map.Entry<K,V> container) { return container.getValue(); }
112+
<K,V> V getMapValue(ImmutableMap.Builder<K,V> container) { return getMapValue(container.build()); }
113+
<K,V> V getMapValue(ImmutableMultimap.Builder<K,V> container) { return getMapValue(container.build()); }
114+
<R,C,V> V getMapValue(Table<R,C,V> container) { return getElement(container.values()); }
115+
<R,C,V> V getMapValue(Table.Cell<R,C,V> container) { return container.getValue(); }
116+
<R,C,V> V getMapValue(ImmutableTable.Builder<R,C,V> container) { return getMapValue(container.build()); }
117+
<R,C,V> C getTable_columnKey(Table<R,C,V> container) { return getElement(container.columnKeySet()); }
118+
<R,C,V> C getTable_columnKey(Table.Cell<R,C,V> container) { return container.getColumnKey(); }
119+
<R,C,V> C getTable_columnKey(ImmutableTable.Builder<R,C,V> container) { return getTable_columnKey(container.build()); }
120+
<R,C,V> R getTable_rowKey(Table<R,C,V> container) { return getElement(container.rowKeySet()); }
121+
<R,C,V> R getTable_rowKey(Table.Cell<R,C,V> container) { return container.getRowKey(); }
122+
<R,C,V> R getTable_rowKey(ImmutableTable.Builder<R,C,V> container) { return getTable_rowKey(container.build()); }
123+
<T> T[] newWithArrayElement(T element) { return (T[]) new Object[]{element}; }
124+
125+
Object newWithElement(Object element) { return null; }
126+
Object newWithMapDifference_left(Object element) { return null; }
127+
Object newWithMapDifference_right(Object element) { return null; }
128+
Object newWithMapKey(Object element) { return null; }
129+
Object newWithMapValue(Object element) { return null; }
130+
Object newWithTable_columnKey(Object element) { return null; }
131+
Object newWithTable_rowKey(Object element) { return null; }
132+
}

java/ql/test/library-tests/frameworks/guava/generated/collect/Test.java

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -88,47 +88,7 @@
8888
import java.util.concurrent.PriorityBlockingQueue;
8989

9090
// Test case generated by GenerateFlowTestCase.ql
91-
public class Test {
92-
93-
<T> T getArrayElement(T[] container) { return container[0]; }
94-
<T> T getElement(Collection<T> container) { return container.iterator().next(); }
95-
<T> T getElement(ImmutableCollection.Builder<T> container) { return getElement(container.build()); }
96-
<T> T getElement(Iterable<T> container) { return container.iterator().next(); }
97-
<T> T getElement(Iterator<T> container) { return container.next(); }
98-
<T> T getElement(Optional<T> container) { return container.get(); }
99-
<T> T getElement(Enumeration<T> container) { return container.nextElement(); }
100-
<T> T getElement(Multiset.Entry<T> container) { return container.getElement(); }
101-
<K,V> Map<K,V> getMapDifference_left(MapDifference<K,V> container) { return container.entriesOnlyOnLeft(); }
102-
<V> V getMapDifference_left(MapDifference.ValueDifference<V> container) { return container.leftValue(); }
103-
<K,V> Map<K,V> getMapDifference_right(MapDifference<K,V> container) { return container.entriesOnlyOnRight(); }
104-
<V> V getMapDifference_right(MapDifference.ValueDifference<V> container) { return container.rightValue(); }
105-
<K,V> K getMapKey(Map<K,V> container) { return getElement(container.keySet()); }
106-
<K,V> K getMapKey(Multimap<K,V> container) { return getElement(container.keySet()); }
107-
<K,V> K getMapKey(Map.Entry<K,V> container) { return container.getKey(); }
108-
<K,V> K getMapKey(ImmutableMap.Builder<K,V> container) { return getMapKey(container.build()); }
109-
<K,V> K getMapKey(ImmutableMultimap.Builder<K,V> container) { return getMapKey(container.build()); }
110-
<K,V> V getMapValue(Map<K,V> container) { return getElement(container.values()); }
111-
<K,V> V getMapValue(Multimap<K,V> container) { return getElement(container.values()); }
112-
<K,V> V getMapValue(Map.Entry<K,V> container) { return container.getValue(); }
113-
<K,V> V getMapValue(ImmutableMap.Builder<K,V> container) { return getMapValue(container.build()); }
114-
<K,V> V getMapValue(ImmutableMultimap.Builder<K,V> container) { return getMapValue(container.build()); }
115-
<R,C,V> V getMapValue(Table<R,C,V> container) { return getElement(container.values()); }
116-
<R,C,V> V getMapValue(Table.Cell<R,C,V> container) { return container.getValue(); }
117-
<R,C,V> V getMapValue(ImmutableTable.Builder<R,C,V> container) { return getMapValue(container.build()); }
118-
<R,C,V> C getTable_columnKey(Table<R,C,V> container) { return getElement(container.columnKeySet()); }
119-
<R,C,V> C getTable_columnKey(Table.Cell<R,C,V> container) { return container.getColumnKey(); }
120-
<R,C,V> C getTable_columnKey(ImmutableTable.Builder<R,C,V> container) { return getTable_columnKey(container.build()); }
121-
<R,C,V> R getTable_rowKey(Table<R,C,V> container) { return getElement(container.rowKeySet()); }
122-
<R,C,V> R getTable_rowKey(Table.Cell<R,C,V> container) { return container.getRowKey(); }
123-
<R,C,V> R getTable_rowKey(ImmutableTable.Builder<R,C,V> container) { return getTable_rowKey(container.build()); }
124-
<T> T[] newWithArrayElement(T element) { return (T[]) new Object[]{element}; }
125-
Object newWithElement(Object element) { return null; }
126-
Object newWithMapDifference_left(Object element) { return null; }
127-
Object newWithMapDifference_right(Object element) { return null; }
128-
Object newWithMapKey(Object element) { return null; }
129-
Object newWithMapValue(Object element) { return null; }
130-
Object newWithTable_columnKey(Object element) { return null; }
131-
Object newWithTable_rowKey(Object element) { return null; }
91+
public class Test extends Methods {
13292
<T> T source() { return null; }
13393
void sink(Object o) { }
13494

java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ class SummaryModelTest extends SummaryModelCsv {
99
row =
1010
[
1111
//"package;type;overrides;name;signature;ext;inputspec;outputspec;kind",
12-
"generatedtest;Test;false;newWithElement;;;Argument[0];Element of ReturnValue;value",
13-
"generatedtest;Test;false;newWithMapKey;;;Argument[0];MapKey of ReturnValue;value",
14-
"generatedtest;Test;false;newWithMapValue;;;Argument[0];MapValue of ReturnValue;value",
15-
"generatedtest;Test;false;newWithTable_rowKey;;;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value",
16-
"generatedtest;Test;false;newWithTable_columnKey;;;Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value",
17-
"generatedtest;Test;false;newWithMapDifference_left;;;Argument[0];SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value",
18-
"generatedtest;Test;false;newWithMapDifference_right;;;Argument[0];SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value"
12+
"generatedtest;Methods;false;newWithElement;;;Argument[0];Element of ReturnValue;value",
13+
"generatedtest;Methods;false;newWithMapKey;;;Argument[0];MapKey of ReturnValue;value",
14+
"generatedtest;Methods;false;newWithMapValue;;;Argument[0];MapValue of ReturnValue;value",
15+
"generatedtest;Methods;false;newWithTable_rowKey;;;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value",
16+
"generatedtest;Methods;false;newWithTable_columnKey;;;Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value",
17+
"generatedtest;Methods;false;newWithMapDifference_left;;;Argument[0];SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value",
18+
"generatedtest;Methods;false;newWithMapDifference_right;;;Argument[0];SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value"
1919
]
2020
}
2121
}

0 commit comments

Comments
 (0)