{-# OPTIONS_GHC -fno-warn-orphans #-} module Data.GenValidity.Mergeless where import Test.QuickCheck import Data.GenValidity import Data.GenValidity.Containers () import Data.GenValidity.Time () import Data.Mergeless instance (GenUnchecked i, GenUnchecked a, Ord i, Ord a) => GenUnchecked (Store i a) instance (GenValid i, GenValid a, Ord i, Ord a) => GenValid (Store i a) where genValid = (Store <$> genValid) `suchThat` isValid instance (GenInvalid i, GenInvalid a, Ord i, Ord a) => GenInvalid (Store i a) instance (GenUnchecked i, GenUnchecked a) => GenUnchecked (StoreItem i a) instance (GenValid i, GenValid a) => GenValid (StoreItem i a) instance (GenInvalid i, GenInvalid a) => GenInvalid (StoreItem i a) instance GenUnchecked a => GenUnchecked (Added a) instance GenValid a => GenValid (Added a) where genValid = (Added <$> genValid <*> genValid) `suchThat` isValid instance GenInvalid a => GenInvalid (Added a) instance (GenUnchecked i, GenUnchecked a) => GenUnchecked (Synced i a) instance (GenValid i, GenValid a) => GenValid (Synced i a) where genValid = (Synced <$> genValid <*> genValid <*> genValid <*> genValid) `suchThat` isValid instance (GenInvalid i, GenInvalid a) => GenInvalid (Synced i a) instance (GenUnchecked i, GenUnchecked a, Ord i, Ord a) => GenUnchecked (SyncRequest i a) instance (GenValid i, GenValid a, Ord i, Ord a) => GenValid (SyncRequest i a) where genValid = (SyncRequest <$> genValid <*> genValid <*> genValid) `suchThat` isValid instance (GenInvalid i, GenInvalid a, Ord i, Ord a) => GenInvalid (SyncRequest i a) instance (GenUnchecked i, GenUnchecked a, Ord i, Ord a) => GenUnchecked (SyncResponse i a) instance (GenValid i, GenValid a, Ord i, Ord a) => GenValid (SyncResponse i a) where genValid = (SyncResponse <$> genValid <*> genValid <*> genValid) `suchThat` isValid instance (GenInvalid i, GenInvalid a, Ord i, Ord a) => GenInvalid (SyncResponse i a) instance GenUnchecked a => GenUnchecked (CentralItem a) instance GenValid a => GenValid (CentralItem a) where genValid = (CentralItem <$> genValid <*> genValid <*> genValid) `suchThat` isValid instance GenInvalid a => GenInvalid (CentralItem a) instance (GenUnchecked i, GenUnchecked a, Ord i, Ord a) => GenUnchecked (CentralStore i a) instance (GenValid i, GenValid a, Ord i, Ord a) => GenValid (CentralStore i a) where genValid = (CentralStore <$> genValid) `suchThat` isValid instance (GenInvalid i, GenInvalid a, Ord i, Ord a) => GenInvalid (CentralStore i a)