Package com.google.common.testing
Class FreshValueGenerator
- java.lang.Object
-
- com.google.common.testing.FreshValueGenerator
-
class FreshValueGenerator extends java.lang.ObjectGenerates fresh instances of types that are different from each other (if possible).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceFreshValueGenerator.EmptyAnnotates a method to generate the "empty" instance of a collection.private classFreshValueGenerator.FreshInvocationHandlerprivate static interfaceFreshValueGenerator.GeneratesAnnotates a method to be the instance generator of a certain type.
-
Field Summary
Fields Modifier and Type Field Description private static ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method>EMPTY_GENERATORSprivate java.util.Map<java.lang.reflect.Type,java.lang.Integer>emptyInstanceGeneratedThe freshness level at which the@Emptyannotated method was invoked to generate instance.private java.util.concurrent.atomic.AtomicIntegerfreshnessprivate static ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method>GENERATORSprivate ListMultimap<java.lang.Class<?>,java.lang.Object>sampleInstances
-
Constructor Summary
Constructors Constructor Description FreshValueGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) <T> voidaddSampleInstances(java.lang.Class<T> type, java.lang.Iterable<? extends T> instances)private <T> TdefaultGenerate(java.lang.Class<T> rawType)private java.lang.Objectgenerate(TypeToken<?> type)Generates an instance fortypeusing the currentfreshness.(package private) static <E> java.util.ArrayList<E>generateArrayList(E freshElement)(package private) static <K,V>
ArrayListMultimap<K,V>generateArrayListMultimap(K key, V value)(package private) java.math.BigDecimalgenerateBigDecimal()(package private) java.math.BigIntegergenerateBigInteger()(package private) static <K,V>
BiMap<K,V>generateBimap(K key, V value)(package private) booleangenerateBoolean()(package private) java.lang.BooleangenerateBooleanObject()(package private) java.nio.BuffergenerateBuffer()(package private) bytegenerateByte()(package private) static java.io.ByteArrayInputStreamgenerateByteArrayInputStream()(package private) java.nio.ByteBuffergenerateByteBuffer()(package private) java.lang.BytegenerateByteObject()(package private) chargenerateChar()(package private) java.lang.CharactergenerateCharacter()(package private) java.nio.CharBuffergenerateCharBuffer()(package private) CharMatchergenerateCharMatcher()(package private) java.lang.CharSequencegenerateCharSequence()(package private) java.nio.charset.CharsetgenerateCharset()(package private) java.lang.Class<?>generateClass()(package private) static <E> java.util.Collection<E>generateCollection(E freshElement)(package private) java.lang.Comparable<?>generateComparable()(package private) <T> java.util.Comparator<T>generateComparator()(package private) static <K,V>
java.util.concurrent.ConcurrentMap<K,V>generateConcurrentMap()(package private) static <K,V>
java.util.concurrent.ConcurrentMap<K,V>generateConcurrentMap(K key, V value)(package private) java.util.CurrencygenerateCurrency()(package private) doublegenerateDouble()(package private) java.nio.DoubleBuffergenerateDoubleBuffer()(package private) java.lang.DoublegenerateDoubleObject()(package private) <T> Equivalence<T>generateEquivalence()(package private) java.io.FilegenerateFile()(package private) floatgenerateFloat()(package private) java.nio.FloatBuffergenerateFloatBuffer()(package private) java.lang.FloatgenerateFloatObject()(package private) java.lang.ObjectgenerateFresh(TypeToken<?> type)Returns a fresh instance fortypeif possible.(package private) <T> TgenerateFresh(java.lang.Class<T> type)(package private) <T> Optional<T>generateGoogleOptional()(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>
java.util.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> java.util.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 java.lang.Comparable<? super K>,V>
ImmutableSortedMap<K,V>generateImmutableSortedMap(K key, V value)(package private) static <E extends java.lang.Comparable<E>>
ImmutableSortedMultiset<E>generateImmutableSortedMultiset(E freshElement)(package private) static <E extends java.lang.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 java.io.InputStreamgenerateInputStream()(package private) intgenerateInt()(package private) java.nio.IntBuffergenerateIntBuffer()(package private) java.lang.IntegergenerateInteger()(package private) static <E> java.lang.Iterable<E>generateIterable(E freshElement)(package private) <T> java.util.Optional<T>generateJavaOptional()(package private) <T> java.util.Optional<T>generateJavaOptional(T value)(package private) JoinergenerateJoiner()(package private) static <K,V>
java.util.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> java.util.LinkedHashSet<E>generateLinkedHashSet(E freshElement)(package private) static <E> java.util.LinkedList<E>generateLinkedList(E freshElement)(package private) static <E> java.util.List<E>generateList(E freshElement)(package private) static <K,V>
ListMultimap<K,V>generateListMultimap(K key, V value)(package private) java.util.LocalegenerateLocale()(package private) longgenerateLong()(package private) java.nio.LongBuffergenerateLongBuffer()(package private) java.lang.LonggenerateLongObject()(package private) static <K,V>
java.util.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 java.lang.Comparable<? super K>,V>
java.util.NavigableMap<K,V>generateNavigableMap(K key, V value)(package private) static <E extends java.lang.Comparable<? super E>>
java.util.NavigableSet<E>generateNavigableSet(E freshElement)(package private) java.lang.NumbergenerateNumber()(package private) java.lang.ObjectgenerateObject()(package private) java.util.OptionalDoublegenerateOptionalDouble()(package private) java.util.OptionalIntgenerateOptionalInt()(package private) java.util.OptionalLonggenerateOptionalLong()(package private) <T> Ordering<T>generateOrdering()(package private) java.util.regex.PatterngeneratePattern()(package private) static <C extends java.lang.Comparable<?>>
Range<C>generateRange()(package private) static <C extends java.lang.Comparable<?>>
Range<C>generateRange(C freshElement)(package private) java.lang.ReadablegenerateReadable()(package private) java.io.ReadergenerateReader()(package private) static <R extends java.lang.Comparable,C extends java.lang.Comparable,V>
RowSortedTable<R,C,V>generateRowSortedTable(R row, C column, V value)(package private) static <E> java.util.Set<E>generateSet(E freshElement)(package private) static <K,V>
SetMultimap<K,V>generateSetMultimap(K key, V value)(package private) shortgenerateShort()(package private) java.nio.ShortBuffergenerateShortBuffer()(package private) java.lang.ShortgenerateShortObject()(package private) static <K extends java.lang.Comparable<? super K>,V>
java.util.SortedMap<K,V>generateSortedMap(K key, V value)(package private) static <E extends java.lang.Comparable<E>>
SortedMultiset<E>generateSortedMultiset(E freshElement)(package private) static <E extends java.lang.Comparable<? super E>>
java.util.SortedSet<E>generateSortedSet(E freshElement)(package private) SplittergenerateSplitter()(package private) java.lang.StringgenerateString()(package private) java.io.StringReadergenerateStringReader()(package private) static <R,C,V>
Table<R,C,V>generateTable(R row, C column, V value)(package private) TickergenerateTicker()(package private) static <R extends java.lang.Comparable,C extends java.lang.Comparable,V>
TreeBasedTable<R,C,V>generateTreeBasedTable(R row, C column, V value)(package private) static <K extends java.lang.Comparable<? super K>,V>
java.util.TreeMap<K,V>generateTreeMap(K key, V value)(package private) static <E extends java.lang.Comparable<E>>
TreeMultiset<E>generateTreeMultiset(E freshElement)(package private) static <E extends java.lang.Comparable<? super E>>
java.util.TreeSet<E>generateTreeSet(E freshElement)(package private) TypeToken<?>generateTypeToken()(package private) UnsignedIntegergenerateUnsignedInteger()(package private) UnsignedLonggenerateUnsignedLong()(package private) java.lang.ObjectinterfaceMethodCalled(java.lang.Class<?> interfaceType, java.lang.reflect.Method method)Subclasses can override to provide different return value for proxied interface methods.private java.lang.ObjectinvokeGeneratorMethod(java.lang.reflect.Method generator, java.lang.Object... args)(package private) <T> TnewFreshProxy(java.lang.Class<T> interfaceType)private <T> TnewProxy(java.lang.Class<T> interfaceType)private static java.lang.StringparamString(java.lang.Class<?> type, int i)private <T> TpickInstance(java.util.Collection<T> instances, T defaultValue)private <T> TpickInstance(T[] instances, T defaultValue)private java.util.CurrencypreJava7FreshCurrency()
-
-
-
Field Detail
-
GENERATORS
private static final ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> GENERATORS
-
EMPTY_GENERATORS
private static final ImmutableMap<java.lang.Class<?>,java.lang.reflect.Method> EMPTY_GENERATORS
-
freshness
private final java.util.concurrent.atomic.AtomicInteger freshness
-
sampleInstances
private final ListMultimap<java.lang.Class<?>,java.lang.Object> sampleInstances
-
emptyInstanceGenerated
private final java.util.Map<java.lang.reflect.Type,java.lang.Integer> emptyInstanceGenerated
The freshness level at which the@Emptyannotated method was invoked to generate instance.
-
-
Method Detail
-
addSampleInstances
final <T> void addSampleInstances(java.lang.Class<T> type, java.lang.Iterable<? extends T> instances)
-
generateFresh
final java.lang.Object generateFresh(TypeToken<?> type)
Returns a fresh instance fortypeif 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
final <T> T generateFresh(java.lang.Class<T> type)
-
newFreshProxy
final <T> T newFreshProxy(java.lang.Class<T> interfaceType)
-
generate
private java.lang.Object generate(TypeToken<?> type)
Generates an instance fortypeusing the currentfreshness. The generated instance may or may not be unique across different calls.
-
defaultGenerate
private <T> T defaultGenerate(java.lang.Class<T> rawType)
-
newProxy
private <T> T newProxy(java.lang.Class<T> interfaceType)
-
invokeGeneratorMethod
private java.lang.Object invokeGeneratorMethod(java.lang.reflect.Method generator, java.lang.Object... args)
-
interfaceMethodCalled
java.lang.Object interfaceMethodCalled(java.lang.Class<?> interfaceType, java.lang.reflect.Method method)Subclasses can override to provide different return value for proxied interface methods.
-
pickInstance
private <T> T pickInstance(T[] instances, T defaultValue)
-
pickInstance
private <T> T pickInstance(java.util.Collection<T> instances, T defaultValue)
-
paramString
private static java.lang.String paramString(java.lang.Class<?> type, int i)
-
generateClass
java.lang.Class<?> generateClass()
-
generateObject
java.lang.Object generateObject()
-
generateNumber
java.lang.Number generateNumber()
-
generateInt
int generateInt()
-
generateInteger
java.lang.Integer generateInteger()
-
generateLong
long generateLong()
-
generateLongObject
java.lang.Long generateLongObject()
-
generateFloat
float generateFloat()
-
generateFloatObject
java.lang.Float generateFloatObject()
-
generateDouble
double generateDouble()
-
generateDoubleObject
java.lang.Double generateDoubleObject()
-
generateShort
short generateShort()
-
generateShortObject
java.lang.Short generateShortObject()
-
generateByte
byte generateByte()
-
generateByteObject
java.lang.Byte generateByteObject()
-
generateChar
char generateChar()
-
generateCharacter
java.lang.Character generateCharacter()
-
generateBoolean
boolean generateBoolean()
-
generateBooleanObject
java.lang.Boolean generateBooleanObject()
-
generateUnsignedInteger
UnsignedInteger generateUnsignedInteger()
-
generateUnsignedLong
UnsignedLong generateUnsignedLong()
-
generateBigInteger
java.math.BigInteger generateBigInteger()
-
generateBigDecimal
java.math.BigDecimal generateBigDecimal()
-
generateCharSequence
java.lang.CharSequence generateCharSequence()
-
generateString
java.lang.String generateString()
-
generateComparable
java.lang.Comparable<?> generateComparable()
-
generatePattern
java.util.regex.Pattern generatePattern()
-
generateCharset
java.nio.charset.Charset generateCharset()
-
generateLocale
java.util.Locale generateLocale()
-
generateCurrency
java.util.Currency generateCurrency()
-
preJava7FreshCurrency
private java.util.Currency preJava7FreshCurrency()
-
generateJavaOptional
<T> java.util.Optional<T> generateJavaOptional()
-
generateJavaOptional
<T> java.util.Optional<T> generateJavaOptional(T value)
-
generateOptionalInt
java.util.OptionalInt generateOptionalInt()
-
generateOptionalLong
java.util.OptionalLong generateOptionalLong()
-
generateOptionalDouble
java.util.OptionalDouble generateOptionalDouble()
-
generateGoogleOptional
<T> Optional<T> generateGoogleOptional()
-
generateGoogleOptional
<T> Optional<T> generateGoogleOptional(T value)
-
generateJoiner
Joiner generateJoiner()
-
generateSplitter
Splitter generateSplitter()
-
generateEquivalence
<T> Equivalence<T> generateEquivalence()
-
generateCharMatcher
CharMatcher generateCharMatcher()
-
generateTicker
Ticker generateTicker()
-
generateComparator
<T> java.util.Comparator<T> generateComparator()
-
generateOrdering
<T> Ordering<T> generateOrdering()
-
generateRange
static <C extends java.lang.Comparable<?>> Range<C> generateRange()
-
generateRange
static <C extends java.lang.Comparable<?>> Range<C> generateRange(C freshElement)
-
generateIterable
static <E> java.lang.Iterable<E> generateIterable(E freshElement)
-
generateCollection
static <E> java.util.Collection<E> generateCollection(E freshElement)
-
generateList
static <E> java.util.List<E> generateList(E freshElement)
-
generateArrayList
static <E> java.util.ArrayList<E> generateArrayList(E freshElement)
-
generateLinkedList
static <E> java.util.LinkedList<E> generateLinkedList(E freshElement)
-
generateImmutableList
static <E> ImmutableList<E> generateImmutableList(E freshElement)
-
generateImmutableCollection
static <E> ImmutableCollection<E> generateImmutableCollection(E freshElement)
-
generateSet
static <E> java.util.Set<E> generateSet(E freshElement)
-
generateHashSet
static <E> java.util.HashSet<E> generateHashSet(E freshElement)
-
generateLinkedHashSet
static <E> java.util.LinkedHashSet<E> generateLinkedHashSet(E freshElement)
-
generateImmutableSet
static <E> ImmutableSet<E> generateImmutableSet(E freshElement)
-
generateSortedSet
static <E extends java.lang.Comparable<? super E>> java.util.SortedSet<E> generateSortedSet(E freshElement)
-
generateNavigableSet
static <E extends java.lang.Comparable<? super E>> java.util.NavigableSet<E> generateNavigableSet(E freshElement)
-
generateTreeSet
static <E extends java.lang.Comparable<? super E>> java.util.TreeSet<E> generateTreeSet(E freshElement)
-
generateImmutableSortedSet
static <E extends java.lang.Comparable<? super E>> ImmutableSortedSet<E> generateImmutableSortedSet(E freshElement)
-
generateMultiset
static <E> Multiset<E> generateMultiset(E freshElement)
-
generateHashMultiset
static <E> HashMultiset<E> generateHashMultiset(E freshElement)
-
generateLinkedHashMultiset
static <E> LinkedHashMultiset<E> generateLinkedHashMultiset(E freshElement)
-
generateImmutableMultiset
static <E> ImmutableMultiset<E> generateImmutableMultiset(E freshElement)
-
generateSortedMultiset
static <E extends java.lang.Comparable<E>> SortedMultiset<E> generateSortedMultiset(E freshElement)
-
generateTreeMultiset
static <E extends java.lang.Comparable<E>> TreeMultiset<E> generateTreeMultiset(E freshElement)
-
generateImmutableSortedMultiset
static <E extends java.lang.Comparable<E>> ImmutableSortedMultiset<E> generateImmutableSortedMultiset(E freshElement)
-
generateMap
static <K,V> java.util.Map<K,V> generateMap(K key, V value)
-
generateHashdMap
static <K,V> java.util.HashMap<K,V> generateHashdMap(K key, V value)
-
generateLinkedHashMap
static <K,V> java.util.LinkedHashMap<K,V> generateLinkedHashMap(K key, V value)
-
generateImmutableMap
static <K,V> ImmutableMap<K,V> generateImmutableMap(K key, V value)
-
generateConcurrentMap
static <K,V> java.util.concurrent.ConcurrentMap<K,V> generateConcurrentMap()
-
generateConcurrentMap
static <K,V> java.util.concurrent.ConcurrentMap<K,V> generateConcurrentMap(K key, V value)
-
generateSortedMap
static <K extends java.lang.Comparable<? super K>,V> java.util.SortedMap<K,V> generateSortedMap(K key, V value)
-
generateNavigableMap
static <K extends java.lang.Comparable<? super K>,V> java.util.NavigableMap<K,V> generateNavigableMap(K key, V value)
-
generateTreeMap
static <K extends java.lang.Comparable<? super K>,V> java.util.TreeMap<K,V> generateTreeMap(K key, V value)
-
generateImmutableSortedMap
static <K extends java.lang.Comparable<? super K>,V> ImmutableSortedMap<K,V> generateImmutableSortedMap(K key, V value)
-
generateMultimap
static <K,V> Multimap<K,V> generateMultimap(K key, V value)
-
generateImmutableMultimap
static <K,V> ImmutableMultimap<K,V> generateImmutableMultimap(K key, V value)
-
generateListMultimap
static <K,V> ListMultimap<K,V> generateListMultimap(K key, V value)
-
generateArrayListMultimap
static <K,V> ArrayListMultimap<K,V> generateArrayListMultimap(K key, V value)
-
generateImmutableListMultimap
static <K,V> ImmutableListMultimap<K,V> generateImmutableListMultimap(K key, V value)
-
generateSetMultimap
static <K,V> SetMultimap<K,V> generateSetMultimap(K key, V value)
-
generateHashMultimap
static <K,V> HashMultimap<K,V> generateHashMultimap(K key, V value)
-
generateLinkedHashMultimap
static <K,V> LinkedHashMultimap<K,V> generateLinkedHashMultimap(K key, V value)
-
generateImmutableSetMultimap
static <K,V> ImmutableSetMultimap<K,V> generateImmutableSetMultimap(K key, V value)
-
generateBimap
static <K,V> BiMap<K,V> generateBimap(K key, V value)
-
generateHashBiMap
static <K,V> HashBiMap<K,V> generateHashBiMap(K key, V value)
-
generateImmutableBimap
static <K,V> ImmutableBiMap<K,V> generateImmutableBimap(K key, V value)
-
generateTable
static <R,C,V> Table<R,C,V> generateTable(R row, C column, V value)
-
generateHashBasedTable
static <R,C,V> HashBasedTable<R,C,V> generateHashBasedTable(R row, C column, V value)
-
generateRowSortedTable
static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> RowSortedTable<R,C,V> generateRowSortedTable(R row, C column, V value)
-
generateTreeBasedTable
static <R extends java.lang.Comparable,C extends java.lang.Comparable,V> TreeBasedTable<R,C,V> generateTreeBasedTable(R row, C column, V value)
-
generateImmutableTable
static <R,C,V> ImmutableTable<R,C,V> generateImmutableTable(R row, C column, V value)
-
generateTypeToken
TypeToken<?> generateTypeToken()
-
generateFile
java.io.File generateFile()
-
generateByteArrayInputStream
static java.io.ByteArrayInputStream generateByteArrayInputStream()
-
generateInputStream
static java.io.InputStream generateInputStream()
-
generateStringReader
java.io.StringReader generateStringReader()
-
generateReader
java.io.Reader generateReader()
-
generateReadable
java.lang.Readable generateReadable()
-
generateBuffer
java.nio.Buffer generateBuffer()
-
generateCharBuffer
java.nio.CharBuffer generateCharBuffer()
-
generateByteBuffer
java.nio.ByteBuffer generateByteBuffer()
-
generateShortBuffer
java.nio.ShortBuffer generateShortBuffer()
-
generateIntBuffer
java.nio.IntBuffer generateIntBuffer()
-
generateLongBuffer
java.nio.LongBuffer generateLongBuffer()
-
generateFloatBuffer
java.nio.FloatBuffer generateFloatBuffer()
-
generateDoubleBuffer
java.nio.DoubleBuffer generateDoubleBuffer()
-
-