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