packages feed

opentheory-parser-1.160: src/Test.hs

{- |
module: Main
description: Stream parsers - testing
license: MIT

maintainer: Joe Leslie-Hurd <joe@gilith.com>
stability: provisional
portability: portable
-}
module Main
  ( main )
where

import qualified OpenTheory.List as List
import qualified OpenTheory.Parser.Stream as Stream
import OpenTheory.Primitive.Test

proposition0 :: [Bool] -> Bool
proposition0 l = Stream.toList (Stream.fromList l) == (l, False)

proposition1 :: Stream.Stream Bool -> Bool
proposition1 xs =
  Stream.lengthStream xs == List.naturalLength (fst (Stream.toList xs))

main :: IO ()
main =
    do check "Proposition 0:\n  !l. toList (fromList l) = (l, F)\n  " proposition0
       check "Proposition 1:\n  !xs. length xs = length (fst (toList xs))\n  " proposition1
       return ()