packages feed

takedouble-0.0.1.1: test/Main.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}

module Main where

import Control.Monad
import Control.Monad.IO.Class
import Hedgehog
import Hedgehog.Main
-- import System.Directory
import System.FilePath.Posix ((</>))
import System.IO.Temp
import Takedouble

main :: IO ()
main = defaultMain [checkParallel $$(discover)]

prop_FileEq_no_check_filename :: Property
prop_FileEq_no_check_filename = property $ do
  File "a" 1024 "abc" "def" === File "b" 1024 "abc" "def"

-- prop_Find_Duplicates :: Property
-- prop_Find_Duplicates = property $
--   do
--     withTempDirectory "/tmp" "foo" $ do
--       \dir -> do
--         _ <- genTempFiles dir
--         files <- findPossibleDuplicates [dir]
--         if 1 < length files then pure () else error "no"

-- dir <- liftIO $ genTempFiles
-- files <- liftIO $ findPossibleDuplicates [dir]
-- True === (1 < length files)

genTempFiles :: FilePath -> IO FilePath
genTempFiles dir = do
  -- dir <- getTemporaryDirectory
  writeFile (dir </> "dup1") "duplicate file"
  writeFile (dir </> "dup2") "duplicate file"
  writeFile (dir </> "uniq1") "uniq file"
  pure dir