module Test.QuickCheck.Instances.Char
(nonSpace,whitespace,space,newline
,lowerAlpha,upperAlpha,numeric
,parenthesis,bracket,brace
,operator
) where
import Data.Char
import Test.QuickCheck
import Test.QuickCheck.Instances.Eq
nonSpace :: Gen Char
nonSpace :: Gen Char
nonSpace = [Char] -> Gen Char
forall a. (Eq a, Arbitrary a) => [a] -> Gen a
notOneof [Char]
" \t\n\r"
whitespace :: Gen Char
whitespace :: Gen Char
whitespace = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof [Gen Char
space,Gen Char
newline]
space :: Gen Char
space :: Gen Char
space = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
" \t")
newline :: Gen Char
newline :: Gen Char
newline = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"\n\r")
letters :: String
letters :: [Char]
letters = [Char]
"abcdefghijklmnopqrstuvwxyz"
lowerAlpha :: Gen Char
lowerAlpha :: Gen Char
lowerAlpha = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
letters)
upperAlpha :: Gen Char
upperAlpha :: Gen Char
upperAlpha = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map (Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return (Char -> Gen Char) -> (Char -> Char) -> Char -> Gen Char
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Char
toUpper) [Char]
letters)
numeric :: Gen Char
numeric :: Gen Char
numeric = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"1234567890")
parenthesis :: Gen Char
parenthesis :: Gen Char
parenthesis = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"()")
bracket :: Gen Char
bracket :: Gen Char
bracket = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"[]")
brace :: Gen Char
brace :: Gen Char
brace = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"{}")
operator :: Gen Char
operator :: Gen Char
operator = [Gen Char] -> Gen Char
forall a. [Gen a] -> Gen a
oneof ((Char -> Gen Char) -> [Char] -> [Gen Char]
forall a b. (a -> b) -> [a] -> [b]
map Char -> Gen Char
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
"*/-+<>|#")