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 -> light = LivingRoomWallLamp || light = LivingRoomFloorLamp || light = BathroomCeilingLamp) |> Gen.elements |> Arb.fromGen type ArbitraryLeftRemotelyControlledLight = static member Light() = lights |> Seq.filter (fun light -> light = LeftBedroomLamp) |> Gen.elements |> Arb.fromGen type ArbitraryRightRemotelyControlledLight = static member Light() = lights |> Seq.filter (fun light -> light = RightBedroomLamp) |> Gen.elements |> Arb.fromGen type ArbitraryRemotelyControlledLight = static member Light() = lights |> Seq.filter (fun light -> light = RightBedroomLamp || light = LeftBedroomLamp) |> Gen.elements |> Arb.fromGen