Package com.google.common.testing
Class FreshValueGenerator
java.lang.Object
com.google.common.testing.FreshValueGenerator
Generates fresh instances of types that are different from each other (if possible).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static @interface
Annotates a method to generate the "empty" instance of a collection.private final class
private static @interface
Annotates a method to be the instance generator of a certain type. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ImmutableMap
<Class<?>, Method> The freshness level at which the@Empty
annotated method was invoked to generate instance.private final AtomicInteger
private static final ImmutableMap
<Class<?>, Method> private final ListMultimap
<Class<?>, Object> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) final <T> void
addSampleInstances
(Class<T> type, Iterable<? extends T> instances) private <T> T
defaultGenerate
(Class<T> rawType) private Object
Generates an instance fortype
using the currentfreshness
.(package private) static <E> ArrayList
<E> generateArrayList
(E freshElement) (package private) static <K,
V> ArrayListMultimap <K, V> generateArrayListMultimap
(K key, V value) (package private) BigDecimal
(package private) BigInteger
(package private) static <K,
V> BiMap <K, V> generateBimap
(K key, V value) (package private) boolean
(package private) Boolean
(package private) Buffer
(package private) byte
(package private) static ByteArrayInputStream
(package private) ByteBuffer
(package private) Byte
(package private) char
(package private) Character
(package private) CharBuffer
(package private) CharMatcher
(package private) CharSequence
(package private) Charset
(package private) Class
<?> (package private) static <E> Collection
<E> generateCollection
(E freshElement) (package private) Comparable
<?> (package private) <T> Comparator
<T> (package private) static <K,
V> ConcurrentMap <K, V> (package private) static <K,
V> ConcurrentMap <K, V> generateConcurrentMap
(K key, V value) (package private) Currency
(package private) double
(package private) DoubleBuffer
(package private) Double
(package private) <T> Equivalence
<T> (package private) File
(package private) float
(package private) FloatBuffer
(package private) Float
(package private) final Object
generateFresh
(TypeToken<?> type) Returns a fresh instance fortype
if possible.(package private) final <T> T
generateFresh
(Class<T> type) (package private) <T> Optional
<T> (package private) <T> Optional
<T> generateGoogleOptional
(T value) (package private) static <R,
C, V> HashBasedTable <R, C, V> generateHashBasedTable
(R row, C column, V value) (package private) static <K,
V> HashBiMap <K, V> generateHashBiMap
(K key, V value) (package private) static <K,
V> HashMap <K, V> generateHashdMap
(K key, V value) (package private) static <K,
V> HashMultimap <K, V> generateHashMultimap
(K key, V value) (package private) static <E> HashMultiset
<E> generateHashMultiset
(E freshElement) (package private) static <E> HashSet
<E> generateHashSet
(E freshElement) (package private) static <K,
V> ImmutableBiMap <K, V> generateImmutableBimap
(K key, V value) (package private) static <E> ImmutableCollection
<E> generateImmutableCollection
(E freshElement) (package private) static <E> ImmutableList
<E> generateImmutableList
(E freshElement) (package private) static <K,
V> ImmutableListMultimap <K, V> generateImmutableListMultimap
(K key, V value) (package private) static <K,
V> ImmutableMap <K, V> generateImmutableMap
(K key, V value) (package private) static <K,
V> ImmutableMultimap <K, V> generateImmutableMultimap
(K key, V value) (package private) static <E> ImmutableMultiset
<E> generateImmutableMultiset
(E freshElement) (package private) static <E> ImmutableSet
<E> generateImmutableSet
(E freshElement) (package private) static <K,
V> ImmutableSetMultimap <K, V> generateImmutableSetMultimap
(K key, V value) (package private) static <K extends Comparable<? super K>,
V>
ImmutableSortedMap<K, V> generateImmutableSortedMap
(K key, V value) (package private) static <E extends Comparable<E>>
ImmutableSortedMultiset<E> generateImmutableSortedMultiset
(E freshElement) (package private) static <E extends Comparable<? super E>>
ImmutableSortedSet<E> generateImmutableSortedSet
(E freshElement) (package private) static <R,
C, V> ImmutableTable <R, C, V> generateImmutableTable
(R row, C column, V value) (package private) static InputStream
(package private) int
(package private) IntBuffer
(package private) Integer
(package private) static <E> Iterable
<E> generateIterable
(E freshElement) (package private) <T> Optional
<T> (package private) <T> Optional
<T> generateJavaOptional
(T value) (package private) Joiner
(package private) static <K,
V> LinkedHashMap <K, V> generateLinkedHashMap
(K key, V value) (package private) static <K,
V> LinkedHashMultimap <K, V> generateLinkedHashMultimap
(K key, V value) (package private) static <E> LinkedHashMultiset
<E> generateLinkedHashMultiset
(E freshElement) (package private) static <E> LinkedHashSet
<E> generateLinkedHashSet
(E freshElement) (package private) static <E> LinkedList
<E> generateLinkedList
(E freshElement) (package private) static <E> List
<E> generateList
(E freshElement) (package private) static <K,
V> ListMultimap <K, V> generateListMultimap
(K key, V value) (package private) Locale
(package private) long
(package private) LongBuffer
(package private) Long
(package private) static <K,
V> Map <K, V> generateMap
(K key, V value) (package private) static <K,
V> Multimap <K, V> generateMultimap
(K key, V value) (package private) static <E> Multiset
<E> generateMultiset
(E freshElement) (package private) static <K extends Comparable<? super K>,
V>
NavigableMap<K, V> generateNavigableMap
(K key, V value) (package private) static <E extends Comparable<? super E>>
NavigableSet<E> generateNavigableSet
(E freshElement) (package private) Number
(package private) Object
(package private) OptionalDouble
(package private) OptionalInt
(package private) OptionalLong
(package private) <T> Ordering
<T> (package private) Pattern
(package private) static <C extends Comparable<?>>
Range<C> (package private) static <C extends Comparable<?>>
Range<C> generateRange
(C freshElement) (package private) Readable
(package private) Reader
(package private) static <R extends Comparable,
C extends Comparable, V>
RowSortedTable<R, C, V> generateRowSortedTable
(R row, C column, V value) (package private) static <E> Set
<E> generateSet
(E freshElement) (package private) static <K,
V> SetMultimap <K, V> generateSetMultimap
(K key, V value) (package private) short
(package private) ShortBuffer
(package private) Short
(package private) static <K extends Comparable<? super K>,
V>
SortedMap<K, V> generateSortedMap
(K key, V value) (package private) static <E extends Comparable<E>>
SortedMultiset<E> generateSortedMultiset
(E freshElement) (package private) static <E extends Comparable<? super E>>
SortedSet<E> generateSortedSet
(E freshElement) (package private) Splitter
(package private) String
(package private) StringReader
(package private) static <R,
C, V> Table <R, C, V> generateTable
(R row, C column, V value) (package private) Ticker
(package private) static <R extends Comparable,
C extends Comparable, V>
TreeBasedTable<R, C, V> generateTreeBasedTable
(R row, C column, V value) (package private) static <K extends Comparable<? super K>,
V>
TreeMap<K, V> generateTreeMap
(K key, V value) (package private) static <E extends Comparable<E>>
TreeMultiset<E> generateTreeMultiset
(E freshElement) (package private) static <E extends Comparable<? super E>>
TreeSet<E> generateTreeSet
(E freshElement) (package private) TypeToken
<?> (package private) UnsignedInteger
(package private) UnsignedLong
(package private) Object
interfaceMethodCalled
(Class<?> interfaceType, Method method) Subclasses can override to provide different return value for proxied interface methods.private Object
invokeGeneratorMethod
(Method generator, Object... args) (package private) final <T> T
newFreshProxy
(Class<T> interfaceType) private <T> T
private static String
paramString
(Class<?> type, int i) private <T> T
pickInstance
(Collection<T> instances, T defaultValue) private <T> T
pickInstance
(T[] instances, T defaultValue)
-
Field Details
-
GENERATORS
-
EMPTY_GENERATORS
-
freshness
-
sampleInstances
-
emptyInstanceGenerated
The freshness level at which the@Empty
annotated method was invoked to generate instance.
-
-
Constructor Details
-
FreshValueGenerator
FreshValueGenerator()
-
-
Method Details
-
addSampleInstances
-
generateFresh
Returns a fresh instance fortype
if possible. The returned instance could be:- exactly of the given type, including generic type parameters, such as
ImmutableList<String>
; - of the raw type;
- null if no value can be generated.
- exactly of the given type, including generic type parameters, such as
-
generateFresh
-
newFreshProxy
-
generate
Generates an instance fortype
using the currentfreshness
. The generated instance may or may not be unique across different calls. -
defaultGenerate
-
newProxy
-
invokeGeneratorMethod
-
interfaceMethodCalled
Subclasses can override to provide different return value for proxied interface methods. -
pickInstance
private <T> T pickInstance(T[] instances, T defaultValue) -
pickInstance
-
paramString
-
generateClass
Class<?> generateClass() -
generateObject
Object generateObject() -
generateNumber
Number generateNumber() -
generateInt
int generateInt() -
generateInteger
Integer generateInteger() -
generateLong
long generateLong() -
generateLongObject
Long generateLongObject() -
generateFloat
float generateFloat() -
generateFloatObject
Float generateFloatObject() -
generateDouble
double generateDouble() -
generateDoubleObject
Double generateDoubleObject() -
generateShort
short generateShort() -
generateShortObject
Short generateShortObject() -
generateByte
byte generateByte() -
generateByteObject
Byte generateByteObject() -
generateChar
char generateChar() -
generateCharacter
Character generateCharacter() -
generateBoolean
boolean generateBoolean() -
generateBooleanObject
Boolean generateBooleanObject() -
generateUnsignedInteger
UnsignedInteger generateUnsignedInteger() -
generateUnsignedLong
UnsignedLong generateUnsignedLong() -
generateBigInteger
BigInteger generateBigInteger() -
generateBigDecimal
BigDecimal generateBigDecimal() -
generateCharSequence
CharSequence generateCharSequence() -
generateString
String generateString() -
generateComparable
Comparable<?> generateComparable() -
generatePattern
Pattern generatePattern() -
generateCharset
Charset generateCharset() -
generateLocale
Locale generateLocale() -
generateCurrency
Currency generateCurrency() -
generateJavaOptional
-
generateJavaOptional
-
generateOptionalInt
OptionalInt generateOptionalInt() -
generateOptionalLong
OptionalLong generateOptionalLong() -
generateOptionalDouble
OptionalDouble generateOptionalDouble() -
generateGoogleOptional
-
generateGoogleOptional
-
generateJoiner
Joiner generateJoiner() -
generateSplitter
Splitter generateSplitter() -
generateEquivalence
-
generateCharMatcher
CharMatcher generateCharMatcher() -
generateTicker
Ticker generateTicker() -
generateComparator
-
generateOrdering
-
generateRange
-
generateRange
-
generateIterable
-
generateCollection
-
generateList
-
generateArrayList
-
generateLinkedList
-
generateImmutableList
-
generateImmutableCollection
-
generateSet
-
generateHashSet
-
generateLinkedHashSet
-
generateImmutableSet
-
generateSortedSet
-
generateTreeSet
-
generateImmutableSortedSet
static <E extends Comparable<? super E>> ImmutableSortedSet<E> generateImmutableSortedSet(E freshElement) -
generateMultiset
-
generateHashMultiset
-
generateLinkedHashMultiset
-
generateImmutableMultiset
-
generateSortedMultiset
-
generateTreeMultiset
-
generateImmutableSortedMultiset
static <E extends Comparable<E>> ImmutableSortedMultiset<E> generateImmutableSortedMultiset(E freshElement) -
generateMap
-
generateHashdMap
-
generateLinkedHashMap
-
generateImmutableMap
-
generateConcurrentMap
-
generateConcurrentMap
-
generateSortedMap
-
generateTreeMap
-
generateImmutableSortedMap
static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> generateImmutableSortedMap(K key, V value) -
generateMultimap
-
generateImmutableMultimap
-
generateListMultimap
-
generateArrayListMultimap
-
generateImmutableListMultimap
-
generateSetMultimap
-
generateHashMultimap
-
generateLinkedHashMultimap
-
generateImmutableSetMultimap
-
generateBimap
-
generateHashBiMap
-
generateImmutableBimap
-
generateTable
-
generateHashBasedTable
-
generateRowSortedTable
static <R extends Comparable,C extends Comparable, RowSortedTable<R,V> C, generateRowSortedTableV> (R row, C column, V value) -
generateTreeBasedTable
static <R extends Comparable,C extends Comparable, TreeBasedTable<R,V> C, generateTreeBasedTableV> (R row, C column, V value) -
generateImmutableTable
-
generateTypeToken
TypeToken<?> generateTypeToken() -
generateFile
File generateFile() -
generateByteArrayInputStream
-
generateInputStream
-
generateStringReader
StringReader generateStringReader() -
generateReader
Reader generateReader() -
generateReadable
Readable generateReadable() -
generateBuffer
Buffer generateBuffer() -
generateCharBuffer
CharBuffer generateCharBuffer() -
generateByteBuffer
ByteBuffer generateByteBuffer() -
generateShortBuffer
ShortBuffer generateShortBuffer() -
generateIntBuffer
IntBuffer generateIntBuffer() -
generateLongBuffer
LongBuffer generateLongBuffer() -
generateFloatBuffer
FloatBuffer generateFloatBuffer() -
generateDoubleBuffer
DoubleBuffer generateDoubleBuffer()
-