-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Known Answer Tests (KAT) framework for tasty
--   
--   Tests running from simple KATs file (different formats/helper
--   supported)
@package tasty-kat
@version 0.0.3


-- | extra loaders helpers
module Test.Tasty.KAT.FileLoader
katLoader :: Char -> String -> [String] -> TestResource (String, String)

-- | From a simple KAT file, extract
--   
--   <ul>
--   <li>lines starting by #, are assumed to be comment</li>
--   </ul>
--   
--   format should be the following:
--   
--   <pre>
--   skipped ..
--   skipped ..
--   [group1]
--   
--   f1= v1
--   f2= v2
--   ...
--   
--   f1= v3
--   f2= v4
--   ...
--   
--   [group2]
--   ...
--   </pre>
katLoaderSimple :: [String] -> TestResource (String, String)
mapTestUnitValues :: (String -> a) -> TestResource (String, String) -> TestResource (String, a)
mapTestUnits :: (TestUnit (String, a) -> TestUnit b) -> TestResource (String, a) -> TestResource b
mapTestUnitValuesBase64 :: TestResource (String, String) -> TestResource (String, ByteString)
mapTestUnitValuesBase16 :: TestResource (String, String) -> TestResource (String, ByteString)
valueUnbase16 :: String -> ByteString
valueUnbase64 :: String -> ByteString
valueInteger :: String -> Integer
valueHexInteger :: String -> Integer
type TestResource a = [(String, TestGroup a)]
type TestGroup a = [TestUnit a]
type TestUnit a = [a]


-- | Tasty support for KAT (Known Answer Tests)
module Test.Tasty.KAT

-- | run one tasty test per vectors in each groups
--   
--   This is useful to have detailed output on what failed and what
--   succeeded. For a more concise output, use <a>testKatGrouped</a>
testKatDetailed :: TestName -> Resource a -> (String -> a -> IO Bool) -> TestTree

-- | run one tasty test per group
testKatGrouped :: TestName -> Resource a -> (String -> a -> IO Bool) -> TestTree

-- | Read a KAT file into values that will be used for KATs tests
testKatLoad :: FilePath -> ([String] -> [(String, [a])]) -> IO (Resource a)
newtype Resource a
Resource :: [(String, [a])] -> Resource a

-- | From a simple KAT file, extract
--   
--   <ul>
--   <li>lines starting by #, are assumed to be comment</li>
--   </ul>
--   
--   format should be the following:
--   
--   <pre>
--   skipped ..
--   skipped ..
--   [group1]
--   
--   f1= v1
--   f2= v2
--   ...
--   
--   f1= v3
--   f2= v4
--   ...
--   
--   [group2]
--   ...
--   </pre>
katLoaderSimple :: [String] -> TestResource (String, String)
mapTestUnits :: (TestUnit (String, a) -> TestUnit b) -> TestResource (String, a) -> TestResource b
instance GHC.Classes.Eq Test.Tasty.KAT.KatResult
instance GHC.Show.Show Test.Tasty.KAT.KatResult
instance Test.Tasty.Core.IsTest Test.Tasty.KAT.TestKatSingle
instance Test.Tasty.Core.IsTest Test.Tasty.KAT.TestKatGroup
