Test

final case class Test(randomState: Atomic[Data], bufferState: Atomic[Buffer]) extends Random with TestRandom

Adapted from @gzmo work in Scala.js (https://github.com/scala-js/scala-js/pull/780)

trait Product
trait Equals
trait Random
class Object
trait Matchable
class Any

Type members

Inherited classlikes

trait UnsafeAPI
Inherited from:
Random

Value members

Concrete methods

def clearBooleans(implicit trace: Trace): UIO[Unit]

Clears the buffer of booleans.

Clears the buffer of booleans.

def clearBytes(implicit trace: Trace): UIO[Unit]

Clears the buffer of bytes.

Clears the buffer of bytes.

def clearChars(implicit trace: Trace): UIO[Unit]

Clears the buffer of characters.

Clears the buffer of characters.

def clearDoubles(implicit trace: Trace): UIO[Unit]

Clears the buffer of doubles.

Clears the buffer of doubles.

def clearFloats(implicit trace: Trace): UIO[Unit]

Clears the buffer of floats.

Clears the buffer of floats.

def clearInts(implicit trace: Trace): UIO[Unit]

Clears the buffer of integers.

Clears the buffer of integers.

def clearLongs(implicit trace: Trace): UIO[Unit]

Clears the buffer of longs.

Clears the buffer of longs.

def clearStrings(implicit trace: Trace): UIO[Unit]

Clears the buffer of strings.

Clears the buffer of strings.

def clearUUIDs(implicit trace: Trace): UIO[Unit]

Clears the buffer of UUIDs.

Clears the buffer of UUIDs.

def feedBooleans(booleans: Boolean*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of booleans. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of booleans. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedBytes(bytes: Chunk[Byte]*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of chunks of bytes. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of chunks of bytes. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedChars(chars: Char*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of characters. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of characters. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedDoubles(doubles: Double*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of doubles. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of doubles. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedFloats(floats: Float*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of floats. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of floats. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedInts(ints: Int*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of integers. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of integers. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedLongs(longs: Long*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of longs. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of longs. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedStrings(strings: String*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of strings. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of strings. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def feedUUIDs(uuids: UUID*)(implicit trace: Trace): UIO[Unit]

Feeds the buffer with specified sequence of UUIDs. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

Feeds the buffer with specified sequence of UUIDs. The first value in the sequence will be the first to be taken. These values will be taken before any values that were previously in the buffer.

def getSeed(implicit trace: Trace): UIO[Long]

Gets the seed of this TestRandom.

Gets the seed of this TestRandom.

def nextBoolean(implicit trace: Trace): UIO[Boolean]

Takes a boolean from the buffer if one exists or else generates a pseudo-random boolean.

Takes a boolean from the buffer if one exists or else generates a pseudo-random boolean.

def nextBytes(length: => Int)(implicit trace: Trace): UIO[Chunk[Byte]]

Takes a chunk of bytes from the buffer if one exists or else generates a pseudo-random chunk of bytes of the specified length.

Takes a chunk of bytes from the buffer if one exists or else generates a pseudo-random chunk of bytes of the specified length.

def nextDouble(implicit trace: Trace): UIO[Double]

Takes a double from the buffer if one exists or else generates a pseudo-random, uniformly distributed double between 0.0 and 1.0.

Takes a double from the buffer if one exists or else generates a pseudo-random, uniformly distributed double between 0.0 and 1.0.

def nextDoubleBetween(minInclusive: => Double, maxExclusive: => Double)(implicit trace: Trace): UIO[Double]

Takes a double from the buffer if one exists or else generates a pseudo-random double in the specified range.

Takes a double from the buffer if one exists or else generates a pseudo-random double in the specified range.

def nextFloat(implicit trace: Trace): UIO[Float]

Takes a float from the buffer if one exists or else generates a pseudo-random, uniformly distributed float between 0.0 and 1.0.

Takes a float from the buffer if one exists or else generates a pseudo-random, uniformly distributed float between 0.0 and 1.0.

def nextFloatBetween(minInclusive: => Float, maxExclusive: => Float)(implicit trace: Trace): UIO[Float]

Takes a float from the buffer if one exists or else generates a pseudo-random float in the specified range.

Takes a float from the buffer if one exists or else generates a pseudo-random float in the specified range.

def nextGaussian(implicit trace: Trace): UIO[Double]

Takes a double from the buffer if one exists or else generates a pseudo-random double from a normal distribution with mean 0.0 and standard deviation 1.0.

Takes a double from the buffer if one exists or else generates a pseudo-random double from a normal distribution with mean 0.0 and standard deviation 1.0.

def nextInt(implicit trace: Trace): UIO[Int]

Takes an integer from the buffer if one exists or else generates a pseudo-random integer.

Takes an integer from the buffer if one exists or else generates a pseudo-random integer.

def nextIntBetween(minInclusive: => Int, maxExclusive: => Int)(implicit trace: Trace): UIO[Int]

Takes an integer from the buffer if one exists or else generates a pseudo-random integer in the specified range.

Takes an integer from the buffer if one exists or else generates a pseudo-random integer in the specified range.

def nextIntBounded(n: => Int)(implicit trace: Trace): UIO[Int]

Takes an integer from the buffer if one exists or else generates a pseudo-random integer between 0 (inclusive) and the specified value (exclusive).

Takes an integer from the buffer if one exists or else generates a pseudo-random integer between 0 (inclusive) and the specified value (exclusive).

def nextLong(implicit trace: Trace): UIO[Long]

Takes a long from the buffer if one exists or else generates a pseudo-random long.

Takes a long from the buffer if one exists or else generates a pseudo-random long.

def nextLongBetween(minInclusive: => Long, maxExclusive: => Long)(implicit trace: Trace): UIO[Long]

Takes a long from the buffer if one exists or else generates a pseudo-random long in the specified range.

Takes a long from the buffer if one exists or else generates a pseudo-random long in the specified range.

def nextLongBounded(n: => Long)(implicit trace: Trace): UIO[Long]

Takes a long from the buffer if one exists or else generates a pseudo-random long between 0 (inclusive) and the specified value (exclusive).

Takes a long from the buffer if one exists or else generates a pseudo-random long between 0 (inclusive) and the specified value (exclusive).

def nextPrintableChar(implicit trace: Trace): UIO[Char]

Takes a character from the buffer if one exists or else generates a pseudo-random character from the ASCII range 33-126.

Takes a character from the buffer if one exists or else generates a pseudo-random character from the ASCII range 33-126.

def nextString(length: => Int)(implicit trace: Trace): UIO[String]

Takes a string from the buffer if one exists or else generates a pseudo-random string of the specified length.

Takes a string from the buffer if one exists or else generates a pseudo-random string of the specified length.

def nextUUID(implicit trace: Trace): UIO[UUID]

Takes a UUID from the buffer if one exists or else generates a pseudo-random UUID.

Takes a UUID from the buffer if one exists or else generates a pseudo-random UUID.

def save(implicit trace: Trace): UIO[UIO[Unit]]

Saves the TestRandom's current state in an effect which, when run, will restore the TestRandom state to the saved state.

Saves the TestRandom's current state in an effect which, when run, will restore the TestRandom state to the saved state.

def setSeed(seed: => Long)(implicit trace: Trace): UIO[Unit]

Sets the seed of this TestRandom to the specified value.

Sets the seed of this TestRandom to the specified value.

def shuffle[A, Collection <: (Iterable)](list: => Collection[A])(implicit bf: BuildFrom[Collection[A], A, Collection[A]], trace: Trace): UIO[Collection[A]]

Randomly shuffles the specified list.

Randomly shuffles the specified list.

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product