Holumbus-Storage-0.0.1: Examples/Utils/Filehandling/FileHandlingTest.hs
-- ----------------------------------------------------------------------------
{- |
Module :
Copyright : Copyright (C) 2008 Stefan Schmidt
License : MIT
Maintainer : Stefan Schmidt (stefanschmidt@web.de)
Stability : experimental
Portability: portable
Version : 0.1
-}
-- ----------------------------------------------------------------------------
module Main(main) where
import Data.Binary
import qualified Data.ByteString.Lazy as B
import Holumbus.Common.FileHandling
version :: String
version = "FileHandlingTest 0.1"
text1 :: String
text1 = "Hello"
text2 :: String
text2 = "World"
bin1 :: B.ByteString
bin1 = encode "Hello"
bin2 :: B.ByteString
bin2 = encode "World"
list1 :: [String]
list1 = ["Hello"]
list2 :: [String]
list2 = ["World"]
textfileName :: String
textfileName = "test.txt"
binfileName :: String
binfileName = "test.bin"
listfileName :: String
listfileName = "test.lst"
compareResults :: (Show a, Eq a) => a -> a -> IO ()
compareResults v1 v2
= do
putStrLn "comparing"
putStrLn $ "v1: " ++ show v1
putStrLn $ "v2: " ++ show v2
putStrLn $ "equal: " ++ show (v1 == v2)
main :: IO ()
main
= do
putStrLn version
putStrLn ""
putStrLn "textfileTest"
writeToTextFile textfileName text1
t1 <- readFromTextFile textfileName
compareResults text1 t1
appendToTextFile textfileName text2
t2 <- readFromTextFile textfileName
compareResults (text1 ++ text2) t2
putStrLn ""
putStrLn "binfileTest"
writeToBinFile binfileName bin1
b1 <- readFromBinFile binfileName
compareResults bin1 b1
appendToBinFile binfileName bin2
b2 <- readFromBinFile binfileName
compareResults (B.append bin1 bin2) b2
putStrLn ""
putStrLn "textfileTest"
writeToListFile listfileName list1
l1 <- readFromListFile listfileName
compareResults list1 l1
appendToListFile listfileName list2
l2 <- readFromListFile listfileName
compareResults (list1 ++ list2) l2