{-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Base.Arbitrary () where import Cardano.Base.IP import Test.QuickCheck instance Arbitrary IPv4 where arbitrary :: Gen IPv4 arbitrary = Word32 -> IPv4 toIPv4w (Word32 -> IPv4) -> Gen Word32 -> Gen IPv4 forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen Word32 forall a. Arbitrary a => Gen a arbitrary instance Arbitrary IPv6 where arbitrary :: Gen IPv6 arbitrary = do (Word32, Word32, Word32, Word32) t <- (,,,) (Word32 -> Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32, Word32)) -> Gen Word32 -> Gen (Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32, Word32)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen Word32 forall a. Arbitrary a => Gen a arbitrary Gen (Word32 -> Word32 -> Word32 -> (Word32, Word32, Word32, Word32)) -> Gen Word32 -> Gen (Word32 -> Word32 -> (Word32, Word32, Word32, Word32)) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen Word32 forall a. Arbitrary a => Gen a arbitrary Gen (Word32 -> Word32 -> (Word32, Word32, Word32, Word32)) -> Gen Word32 -> Gen (Word32 -> (Word32, Word32, Word32, Word32)) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen Word32 forall a. Arbitrary a => Gen a arbitrary Gen (Word32 -> (Word32, Word32, Word32, Word32)) -> Gen Word32 -> Gen (Word32, Word32, Word32, Word32) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen Word32 forall a. Arbitrary a => Gen a arbitrary IPv6 -> Gen IPv6 forall a. a -> Gen a forall (f :: * -> *) a. Applicative f => a -> f a pure (IPv6 -> Gen IPv6) -> IPv6 -> Gen IPv6 forall a b. (a -> b) -> a -> b $ (Word32, Word32, Word32, Word32) -> IPv6 toIPv6w (Word32, Word32, Word32, Word32) t