packages feed

text-utils-0.1.0.0: test/Data/Text/ToFromTextTest.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# OPTIONS_GHC -F -pgmF htfpp #-}
module Data.Text.ToFromTextTest where

import Data.Text.ToFromText

import Test.Framework

data SomeEnum
    = SomeEnumA
    | SomeEnumB
    | SomeEnumC
    deriving (Show, Eq, Enum, Bounded)

instance ToFromText SomeEnum where
    toText e =
        case e of
          SomeEnumA -> "A"
          SomeEnumB -> "B"
          SomeEnumC -> "C"

test_autoFromText :: IO ()
test_autoFromText =
    do assertEqual (Just SomeEnumA) (fromText "A")
       assertEqual (Just SomeEnumB) (fromText "B")
       assertEqual (Just SomeEnumC) (fromText "C")
       assertEqual (Nothing :: Maybe SomeEnum) (fromText "asdasdasd")