comfort-array-0.4.1: test/DocTest/Data/Array/Comfort/Storable.hs
-- Do not edit! Automatically created with doctest-extract from src/Data/Array/Comfort/Storable.hs
{-# LINE 73 "src/Data/Array/Comfort/Storable.hs" #-}
module DocTest.Data.Array.Comfort.Storable where
import qualified Test.DocTest.Driver as DocTest
{-# LINE 74 "src/Data/Array/Comfort/Storable.hs" #-}
import qualified Data.Array.Comfort.Storable as Array
import qualified Data.Array.Comfort.Shape as Shape
import Data.Array.Comfort.Storable (Array)
import qualified Test.QuickCheck as QC
import Test.ChasingBottoms.IsBottom (isBottom)
import Control.Applicative ((<$>))
import Data.Word (Word16)
type ShapeInt = Shape.ZeroBased Int
genArray :: QC.Gen (Array ShapeInt Word16)
genArray = Array.vectorFromList <$> QC.arbitrary
infix 4 ==?
(==?) :: a -> a -> (a,a)
(==?) = (,)
forAllNonEmpty :: (Eq b) => (Array ShapeInt Word16 -> (b,b)) -> QC.Property
forAllNonEmpty f =
QC.forAll genArray $ \xs ->
case f xs of
(resultArray,resultList) ->
if Array.shape xs == Shape.ZeroBased 0
then isBottom resultArray
else resultArray == resultList
test :: DocTest.T ()
test = do
DocTest.printPrefix "Data.Array.Comfort.Storable:194: "
{-# LINE 194 "src/Data/Array/Comfort/Storable.hs" #-}
DocTest.property
{-# LINE 194 "src/Data/Array/Comfort/Storable.hs" #-}
(forAllNonEmpty $ \xs -> Array.minimum xs ==? minimum (Array.toList xs))
DocTest.printPrefix "Data.Array.Comfort.Storable:202: "
{-# LINE 202 "src/Data/Array/Comfort/Storable.hs" #-}
DocTest.property
{-# LINE 202 "src/Data/Array/Comfort/Storable.hs" #-}
(forAllNonEmpty $ \xs -> Array.maximum xs ==? maximum (Array.toList xs))
DocTest.printPrefix "Data.Array.Comfort.Storable:214: "
{-# LINE 214 "src/Data/Array/Comfort/Storable.hs" #-}
DocTest.property
{-# LINE 214 "src/Data/Array/Comfort/Storable.hs" #-}
(forAllNonEmpty $ \xs -> Array.limits xs ==? (Array.minimum xs, Array.maximum xs))