-- Do not edit! Automatically created with doctest-extract from src/Data/NonEmptyPrivate.hs {-# LINE 39 "src/Data/NonEmptyPrivate.hs" #-} module Test.Data.NonEmptyPrivate where import qualified Test.DocTest.Driver as DocTest {-# LINE 40 "src/Data/NonEmptyPrivate.hs" #-} import qualified Data.NonEmpty as NonEmpty import qualified Data.Empty as Empty import qualified Data.Either.HT as EitherHT import qualified Control.Functor.HT as FuncHT import qualified Data.Ix as Ix import Data.NonEmpty ((!:)) import Data.Tuple.HT (swap) import Data.Maybe (mapMaybe) import Control.Applicative (liftA2) import qualified Test.QuickCheck as QC forRange :: (QC.Testable test) => ((Char,Char) -> test) -> QC.Property forRange = QC.forAll (liftA2 (,) (QC.choose ('a','h')) (QC.choose ('a','h'))) test :: DocTest.T () test = do DocTest.printPrefix "Data.NonEmptyPrivate:743: " {-# LINE 743 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property {-# LINE 743 "src/Data/NonEmptyPrivate.hs" #-} (\xs -> mapMaybe EitherHT.maybeLeft (NonEmpty.flatten xs) == either NonEmpty.flatten fst (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))) DocTest.printPrefix "Data.NonEmptyPrivate:744: " {-# LINE 744 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property {-# LINE 744 "src/Data/NonEmptyPrivate.hs" #-} (\xs -> mapMaybe EitherHT.maybeRight (NonEmpty.flatten xs) == either (const []) (NonEmpty.flatten . snd) (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))) DocTest.printPrefix "Data.NonEmptyPrivate:745: " {-# LINE 745 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property {-# LINE 745 "src/Data/NonEmptyPrivate.hs" #-} (\xs -> NonEmpty.partitionEithersRight (fmap EitherHT.swap xs) == EitherHT.mapLeft swap (EitherHT.swap (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int))))) DocTest.printPrefix "Data.NonEmptyPrivate:755: " {-# LINE 755 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property {-# LINE 755 "src/Data/NonEmptyPrivate.hs" #-} (\xs -> NonEmpty.partitionEithersLeft (fmap EitherHT.swap xs) == EitherHT.mapRight swap (EitherHT.swap (NonEmpty.partitionEithersRight (xs::NonEmpty.T[](Either Char Int))))) DocTest.printPrefix "Data.NonEmptyPrivate:766: " {-# LINE 766 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property {-# LINE 766 "src/Data/NonEmptyPrivate.hs" #-} (forRange $ \b0 -> forRange $ \b1 -> forRange $ \b2 -> let b = FuncHT.unzip $ b0!:b1!:b2!:Empty.Cons in map (Ix.index b) (Ix.range b) == take (Ix.rangeSize b) [0..])