TestRandom

object TestRandom extends Serializable
Companion:
class
class Object
trait Matchable
class Any

Type members

Classlikes

final case class Buffer(booleans: List[Boolean], bytes: List[Byte], chars: List[Char], doubles: List[Double], floats: List[Float], integers: List[Int], longs: List[Long], strings: List[String], uuids: List[UUID])

The buffer of the TestRandom.

The buffer of the TestRandom.

final case class Data(seed1: Int, seed2: Int, nextNextGaussians: Queue[Double])

The seed of the TestRandom.

The seed of the TestRandom.

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)

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

Value members

Concrete methods

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

Accesses a TestRandom instance in the environment and clears the buffer of booleans.

Accesses a TestRandom instance in the environment and clears the buffer of booleans.

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

Accesses a TestRandom instance in the environment and clears the buffer of bytes.

Accesses a TestRandom instance in the environment and clears the buffer of bytes.

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

Accesses a TestRandom instance in the environment and clears the buffer of characters.

Accesses a TestRandom instance in the environment and clears the buffer of characters.

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

Accesses a TestRandom instance in the environment and clears the buffer of doubles.

Accesses a TestRandom instance in the environment and clears the buffer of doubles.

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

Accesses a TestRandom instance in the environment and clears the buffer of floats.

Accesses a TestRandom instance in the environment and clears the buffer of floats.

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

Accesses a TestRandom instance in the environment and clears the buffer of integers.

Accesses a TestRandom instance in the environment and clears the buffer of integers.

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

Accesses a TestRandom instance in the environment and clears the buffer of longs.

Accesses a TestRandom instance in the environment and clears the buffer of longs.

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

Accesses a TestRandom instance in the environment and clears the buffer of strings.

Accesses a TestRandom instance in the environment and clears the buffer of strings.

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

Accesses a TestRandom instance in the environment and clears the buffer of UUIDs.

Accesses a TestRandom instance in the environment and clears the buffer of UUIDs.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of booleans.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of booleans.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of chunks of bytes.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of chunks of bytes.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of characters.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of characters.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of doubles.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of doubles.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of floats.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of floats.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of integers.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of integers.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of longs.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of longs.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of strings.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of strings.

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

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of UUIDs.

Accesses a TestRandom instance in the environment and feeds the buffer with the specified sequence of UUIDs.

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

Accesses a TestRandom instance in the environment and gets the seed.

Accesses a TestRandom instance in the environment and gets the seed.

def make(data: Data): Layer[Nothing, TestRandom]

Constructs a new TestRandom with the specified initial state. This can be useful for providing the required environment to an effect that requires a Random, such as with ZIO#provide.

Constructs a new TestRandom with the specified initial state. This can be useful for providing the required environment to an effect that requires a Random, such as with ZIO#provide.

def makeTest(data: Data)(implicit trace: Trace): UIO[Test]

Constructs a new Test object that implements the TestRandom interface. This can be useful for mixing in with implementations of other interfaces.

Constructs a new Test object that implements the TestRandom interface. This can be useful for mixing in with implementations of other interfaces.

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

Accesses a TestRandom instance in the environment and saves the random state in an effect which, when run, will restore the TestRandom to the saved state.

Accesses a TestRandom instance in the environment and saves the random state in an effect which, when run, will restore the TestRandom to the saved state.

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

Accesses a TestRandom instance in the environment and sets the seed to the specified value.

Accesses a TestRandom instance in the environment and sets the seed to the specified value.

Concrete fields

An arbitrary initial seed for the TestRandom.

An arbitrary initial seed for the TestRandom.

val random: ZLayer[Clock, Nothing, TestRandom]