schema-0.0.1: test/Data/SchemaSpec.hs
module Data.SchemaSpec (spec) where
import Control.Applicative ((<$>))
import Data.Proxy (Proxy (..))
import Test.Hspec
import Test.QuickCheck
import Data.Schema
data Record = Record
{ recordField1 :: Int
, recordField2 :: Double
, recordField3 :: String
}
deriving (Eq, Show, Read)
instance HasSchema Record where
schema p = SchemaRecord
[ Field "recordField1" $ schema $ recordField1 <$> p
, Field "recordField2" $ schema $ recordField2 <$> p
, Field "recordField3" $ schema $ recordField3 <$> p
]
spec :: Spec
spec = do
describe "schemas" $ do
it "can be printed to stdout" $
print (schema (Proxy :: Proxy Record))