-- | Generate test cases for Nim module TestGen.TestMerkle where -------------------------------------------------------------------------------- import Data.Array import Data.List import Data.Word import System.IO import Merkle import Goldilocks import Common import TestGen.Shared -------------------------------------------------------------------------------- intToDigest :: Integer -> Digest intToDigest k = MkDigest (fromInteger k) 0 0 0 merkleDigest :: Integer -> Digest merkleDigest max = merkleRoot $ map intToDigest [1..max] -------------------------------------------------------------------------------- printTests :: IO () printTests = hPrintTests stdout hPrintTests :: Handle -> IO () hPrintTests h = hPutStrLn h $ unlines $ [ digests "testcases_merkleroot" (merkleDigest) [1..175] ] writeTests :: IO () writeTests = withFile "merkleTestCases.nim" WriteMode $ \h -> do hPutStrLn h "# generated by TestGen/TestMerkle.hs\n" hPutStrLn h "import poseidon2/types\n" hPrintTests h --------------------------------------------------------------------------------