packages feed

lzo-0.1.0.0: test/Spec.hs

module Main (main) where

import           Codec.Compression.Lzo
import qualified Data.ByteString       as BS
import qualified Data.ByteString.Lazy  as BSL
import           Test.Tasty
import           Test.Tasty.HUnit

testRoundtripFrames :: FilePath -> TestTree
testRoundtripFrames fp = testCase ("Roundtrip " ++ fp) $ do
    contents <- BSL.readFile fp
    let actual = decompressFile (compressFile contents)
    actual @?= contents

main :: IO ()
main =

    defaultMain $
        testGroup "lzo" [testFrames]

    where
        testFrames = testGroup "Frame compression" $
            testRoundtripFrames <$>
                [ "cbits/minilzo.c"
                , "cbits/lzodefs.h"
                ]