bcp47-0.1.0.0: library/Data/BCP47/Internal/Arbitrary.hs
module Data.BCP47.Internal.Arbitrary
( Arbitrary
, arbitrary
, alphaString
, alphaNumString
, alphaChar
, numChar
, elements
, choose
, oneof
, suchThat
, listOf
, vectorOf
) where
import Test.QuickCheck
( Arbitrary
, Gen
, arbitrary
, choose
, elements
, listOf
, oneof
, suchThat
, vectorOf
)
numChar :: Gen Char
numChar = elements numChars
alphaNumString :: Int -> Gen String
alphaNumString n = vectorOf n alphaNumChar
alphaString :: Int -> Gen String
alphaString n = vectorOf n alphaChar
alphaNumChar :: Gen Char
alphaNumChar = elements alphaNumChars
alphaChar :: Gen Char
alphaChar = elements alphaChars
alphaNumChars :: String
alphaNumChars = alphaChars ++ numChars
alphaChars :: String
alphaChars = ['a' .. 'z'] ++ ['A' .. 'Z']
numChars :: String
numChars = ['0' .. '9']