/ test / Main.hs
Main.hs
 1  
 2  -- | Testing some sub-circuits
 3  --
 4  
 5  module Main where
 6  
 7  --------------------------------------------------------------------------------
 8  
 9  import R1CS
10  
11  import qualified R1CS.Test.Spec as Spec
12  
13  import qualified Circuit.BinaryLTE     as BinaryLTE
14  import qualified Circuit.BinaryGTE     as BinaryGTE
15  import qualified Circuit.BinaryCompare as BinaryCmp
16  import qualified Circuit.ExtractBits   as ExtractBits
17  import qualified Circuit.Log2          as Log2
18  import qualified Circuit.CeilingLog2   as CeilingLog2
19  
20  --------------------------------------------------------------------------------
21  
22  testSimple :: FieldChoice -> IO ()
23  testSimple field = testSimple' field Silent
24  
25  testSimple' :: FieldChoice -> Verbosity -> IO ()
26  testSimple' field verbosity = runWithField field $ \pxy -> do
27  
28    let runSpec     what = Spec.testSemantics     pxy what verbosity
29    let runSpecMany what = Spec.testSemanticsMany pxy what verbosity
30  
31    runSpecMany CeilingLog2.specs
32    runSpecMany Log2.specs
33  
34    runSpecMany BinaryCmp.specs
35    runSpecMany BinaryLTE.specs
36    runSpecMany BinaryGTE.specs
37  
38    -- runSpecMany ExtractBits.specs      -- this test doesn't work currently? 
39  
40  --------------------------------------------------------------------------------
41  
42  main = do
43    testSimple' Field20 Silent   -- Info
44