souplesse/tests/UnitTest.hs

41 lines
1.0 KiB
Haskell

module Main where
import qualified Track (Track, parse, length )
import Test.HUnit
import qualified System.Exit as Exit
import Control.Exception
import Debug.Trace (trace, traceShow)
-- test1 :: Test
-- test1 = TestCase $
-- let
-- trk = Track.parse "<gpx></gpx>"
-- in
-- assertEqual "empty track has no elements"
-- 0 (Track.length trk)
test3 = TestCase $ assertEqual "empty track has no elements" 1 2
test2 = TestCase $
case Track.parse
"<gpx> <trk> <trkseg> \n\
\<trkpt lat=\"51\" lon=\"-0.1\"> </trkpt> \n\
\</trkseg> </trk> </gpx>"
of
Left err -> assertFailure (displayException err)
Right trk ->
traceShow trk $
assertEqual "one el" 1 (Track.length trk)
tests :: Test
tests = TestList [
-- TestLabel "test1" test1,
TestLabel "test2" test2
]
main :: IO ()
main = do
result <- runTestTT tests
if failures result > 0 then Exit.exitFailure else Exit.exitSuccess