package state
- Alphabetic
- Public
- Protected
Type Members
- trait CR extends AnyRef
- final case class CRId(render: String) extends AnyVal with Product with Serializable
- trait KV extends AnyRef
- case class Name(value: String) extends Product with Serializable
- case class Pid(value: Int) extends Product with Serializable
- case class Register(name: Name, value: Var[Pid]) extends Product with Serializable
- case class Spawn() extends Product with Serializable
- case class State(pids: Set[Var[Pid]], regs: Map[Name, Var[Pid]]) extends Product with Serializable
- case class Turnstile(state: AtomicReference[TurnstileState]) extends Product with Serializable
- sealed trait TurnstileState extends AnyRef
- case class Unregister(name: Name) extends Product with Serializable
- case class World(procTable: Map[Name, Pid], pid: AtomicReference[Pid]) extends Product with Serializable
Value Members
- object CR
- object CRTest extends Properties
- object KV
- object KVTest extends Properties
This example has a companion tutorial.
This example has a companion tutorial.
https://github.com/hedgehogqa/scala-hedgehog/blob/master/doc/state-tutorial.md
- object Register extends Serializable
- object RegistryTest extends Properties
- object Spawn extends Serializable
- object State extends Serializable
- object TestUtil
- object Turnstile extends Serializable
- object TurnstileState
- object TurnstileTest extends Properties
An effectful turnstile
An effectful turnstile
Coin Push +-------------+ +-----+ | | +-----+ | | | v v | | +-+---+--+ +--+-----+-+ | | | | | | | | | Locked | | Unlocked | | | | | | | | | +-+---+--+ +--+-----+-+ | | | | | +-----+ | | +-----+ +-------------+ Coin Push
- States: Locked/Unlocked (represented by the boxes) - Transitions: Coin/Push (represented by the arrows)
https://teh.id.au/posts/2017/07/15/state-machine-testing/index.html
- object Unregister extends Serializable
- object World extends Serializable