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 = notOneof " \t\n\r"
whitespace :: Gen Char
whitespace = oneof [space,newline]
space :: Gen Char
space = oneof (map return " \t")
newline :: Gen Char
newline = oneof (map return "\n\r")
letters :: String
letters = "abcdefghijklmnopqrstuvwxyz"
lowerAlpha :: Gen Char
lowerAlpha = oneof (map return letters)
upperAlpha :: Gen Char
upperAlpha = oneof (map (return . toUpper) letters)
numeric :: Gen Char
numeric = oneof (map return "1234567890")
parenthesis :: Gen Char
parenthesis = oneof (map return "()")
bracket :: Gen Char
bracket = oneof (map return "[]")
brace :: Gen Char
brace = oneof (map return "{}")
operator :: Gen Char
operator = oneof (map return "*/-+<>|#")