Randomizer

org.scalatest.prop.Randomizer
See theRandomizer companion class
object Randomizer

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Randomizer.type

Members list

Value members

Concrete methods

def apply(seed: Long): Randomizer

A Randomizer, initialized with the specified seed value.

A Randomizer, initialized with the specified seed value.

Since Randomizer is only pseudo-random, and is actually deterministic based on the seed, this lets you re-create a set of "random" values. If you use the same seed over and over, you will get the same values.

This is particularly useful during testing and debugging. If you save the seed that is used to generate your initial data, you can then re-run the test using that seed to reliably re-create your "random" events.

If you want to create an adequate seed to feed into here, the value of System.currentTimeMillis() is reasonable (and is used in Randomizer.default). It's a somewhat weak seed, but decent for most purposes.

Value parameters

seed

A number that will be used to initialize a new Randomizer.

Attributes

Returns

A Randomizer, ready to begin producing random values.

Creates a new Randomizer, whose seed is initialized based on the current time.

Creates a new Randomizer, whose seed is initialized based on the current time.

This should not be considered a strong source of randomness -- in cases where high entropy really matters, it's a bit mediocre -- but for general purposes it's typically good enough.

Attributes

Returns

A Randomizer, ready to begin producing random values.

def shuffle[T](xs: List[T], rnd: Randomizer): (List[T], Randomizer)

Randomizes the order of the provided List.

Randomizes the order of the provided List.

This takes a pre-created Randomizer, that you pass in. This means that, if you re-create a Randomizer with the same seed over and over, you will get the same shuffled order.

This takes O(n) time.

Type parameters

T

The type of the passed-in values.

Value parameters

rnd

A Randomizer that will be used to shuffle the values.

xs

A List of values.

Attributes

Returns

The List of values, rearranged in random order.