{-# OPTIONS_GHC -Wno-orphans #-} -- | Orphan instances of QuickCheck Type Classes module QCOrphans () where import UnliftIO.MessageBox.Util.CallId import UnliftIO.MessageBox.CatchAll (CatchAllArg (..)) import qualified UnliftIO.MessageBox.Limited as Limited import Test.QuickCheck (Arbitrary (arbitrary), elements) instance Arbitrary Limited.MessageLimit where arbitrary = elements [minBound .. maxBound] instance Arbitrary Limited.BlockingBoxLimit where arbitrary = Limited.BlockingBoxLimit <$> arbitrary instance Arbitrary Limited.NonBlockingBoxLimit where arbitrary = Limited.NonBlockingBoxLimit <$> arbitrary instance Arbitrary Limited.WaitingBoxLimit where arbitrary = Limited.WaitingBoxLimit <$> arbitrary <*> arbitrary <*> arbitrary instance Arbitrary a => Arbitrary (CatchAllArg a) where arbitrary = CatchAllArg <$> arbitrary instance Arbitrary CallId where arbitrary = MkCallId <$> arbitrary