Module kivakit.internal.testing
Class RandomValueFactory
java.lang.Object
com.telenav.kivakit.internal.testing.RandomValueFactory
- All Implemented Interfaces:
CastTrait
,RandomNumeric
Utility class for tests used to create random values. The UnitTest class has a variety of methods for random testing
that use this class. Projects can subclass this to provide additional random values relevant to the project.
Seeding
The seed used for random values can be set with seed(long)
. KivaKit tests will emit a seed value when a test
fails. This value can be fed to seed(long)
to reproduce the failure.
Values
Values of the given types can be randomly produced:
- Characters
- Strings
- Booleans
- Bytes
- Confidence
- Count
- Double
- Identifier
- Ints
- Longs
- Shorts
- Unsigned Doubles
- Unsigned Ints
- Unsigned Longs
- Author:
- jonathanl (shibo)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
byteSequence
(Matcher<Byte> include, Consumer<Byte> consumer) void
void
byteSequence
(Repeats repeats, Consumer<Byte> consumer) void
byteSequence
(Consumer<Byte> consumer) <T> T
from
(Collection<T> values) <T> T
from
(T[] values) identifierExclusive
(long maximum) void
void
void
intSequence
(Matcher<Integer> include, Consumer<Integer> consumer) void
void
intSequence
(Repeats repeats, Consumer<Integer> consumer) void
intSequence
(Consumer<Integer> consumer) char
letter()
letters()
letters
(int minLength, int maxLength) void
longSequence
(Matcher<Long> include, Consumer<Long> consumer) void
void
longSequence
(Repeats repeats, Consumer<Long> consumer) void
longSequence
(Consumer<Long> consumer) void
random()
randomCount
(long maximum) randomCount
(long minimum, long maximum) double
Returns a random value between zero and onefinal long
randomLongExclusive
(long minimum, long exclusiveMaximum) rangeExclusive
(long minimum, long exclusiveMaximum) rangeExclusive
(long minimum, long exclusiveMaximum, long minimumWidth) rangeExclusive
(T minimum, T exclusiveMaximum) rangeExclusive
(T minimum, T exclusiveMaximum, long minimumWidth) rangeInclusive
(long minimum, long inclusiveMaximum) rangeInclusive
(long minimum, long inclusiveMaximum, long minimumWidth) rangeInclusive
(T minimum, T inclusiveMaximum) rangeInclusive
(T minimum, T inclusiveMaximum, long minimumWidth) long
seed()
void
seed
(long seed) <T extends Number>
void<T extends Number>
void<T extends Number>
voidsequence
(Repeats repeats, Count count, long minimum, long exclusiveMaximum, Class<T> type, Matcher<T> include, Consumer<T> consumer) <T extends Number>
voidsequence
(Repeats repeats, Count count, long minimum, long maximum, Class<T> type, Consumer<T> consumer) <T extends Number>
void<T extends Number>
void<T extends Number>
void<T extends Number>
void<T extends Number>
voidvoid
shortSequence
(Matcher<Short> include, Consumer<Short> consumer) void
void
shortSequence
(Repeats repeats, Consumer<Short> consumer) void
shortSequence
(Consumer<Short> consumer) string()
string
(int maximum) string
(int minimum, int maximum) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.telenav.kivakit.interfaces.numeric.CastTrait
cast, cast, maximum, minimum
Methods inherited from interface com.telenav.kivakit.interfaces.numeric.RandomNumeric
random, random, randomBoolean, randomByte, randomByteExclusive, randomByteInclusive, randomChar, randomCharExclusive, randomCharInclusive, randomDouble, randomDouble, randomExclusive, randomExclusive, randomFloat, randomInclusive, randomInclusive, randomIndex, randomInt, randomInt, randomIntExclusive, randomIntInclusive, randomLong, randomLongInclusive, randomShort, randomShortExclusive, randomShortInclusive, randomUnsignedDouble, randomUnsignedDouble, randomUnsignedInt, randomUnsignedLong
-
Field Details
-
random
Random number generator
-
-
Constructor Details
-
RandomValueFactory
public RandomValueFactory(long seed) -
RandomValueFactory
public RandomValueFactory()
-
-
Method Details
-
byteSequence
-
confidence
-
from
-
from
public <T> T from(T[] values) -
identifierExclusive
-
indexes
-
intSequence
-
iterations
-
letter
public char letter() -
letters
-
letters
-
list
-
longSequence
-
loop
-
random
-
randomCount
-
randomCount
-
randomDoubleZeroToOne
public double randomDoubleZeroToOne()Description copied from interface:RandomNumeric
Returns a random value between zero and one- Specified by:
randomDoubleZeroToOne
in interfaceRandomNumeric
-
randomLongExclusive
public final long randomLongExclusive(long minimum, long exclusiveMaximum) - Specified by:
randomLongExclusive
in interfaceRandomNumeric
-
rangeExclusive
-
rangeExclusive
-
rangeExclusive
-
rangeExclusive
-
rangeInclusive
-
rangeInclusive
-
rangeInclusive
-
rangeInclusive
-
seed
public long seed() -
seed
public void seed(long seed) -
sequence
-
shortSequence
-
string
-
string
-
string
-