night-light/NightLight.Core.Tests/LightArbitraries.fs

35 lines
1 KiB
FSharp

namespace NightLight.Core.Tests
open NightLight.Core.Models
open FsCheck.FSharp
type ArbitraryLight =
static member Light() = lights |> Gen.elements |> Arb.fromGen
type ArbitraryNonRemotelyControlledLight =
static member Light() =
lights
|> Seq.filter (fun light -> (lightProps light).ControlledWithRemote.IsNonRemote)
|> Gen.elements
|> Arb.fromGen
type ArbitraryLeftRemotelyControlledLight =
static member Light() =
lights
|> Seq.filter (fun light -> (lightProps light).ControlledWithRemote.IsRemoteLeft)
|> Gen.elements
|> Arb.fromGen
type ArbitraryRightRemotelyControlledLight =
static member Light() =
lights
|> Seq.filter (fun light -> (lightProps light).ControlledWithRemote.IsRemoteRight)
|> Gen.elements
|> Arb.fromGen
type ArbitraryRemotelyControlledLight =
static member Light() =
lights
|> Seq.filter (fun light -> (lightProps light).ControlledWithRemote.IsNonRemote |> not)
|> Gen.elements
|> Arb.fromGen