packages feed

opc-xml-da-client-0.1: xml-schema-values-test/Main.hs

module Main where

import qualified Data.Attoparsec.Text as At
import qualified OpcXmlDaClient.QuickCheckUtil.Gens as Gens
import qualified OpcXmlDaClient.XmlSchemaValues.Attoparsec as Attoparsec
import qualified OpcXmlDaClient.XmlSchemaValues.Rendering as Rendering
import OpcXmlDaClient.XmlSchemaValues.Types
import Test.QuickCheck
import Test.QuickCheck.Instances ()
import Test.Tasty
import Test.Tasty.QuickCheck
import qualified Text.Builder as Tb
import Prelude hiding (choose)

main =
  defaultMain $
    testGroup
      ""
      [ testProperty "Rendered date parses into the same value" $ do
          _date <- Date <$> Gens.day <*> Gens.maybeOf Gens.timeZone
          let _rendering = Tb.run $ Rendering.date _date
              _parsingResult = At.parseOnly Attoparsec.date _rendering
           in return $ Right _date === _parsingResult
      ]