hjugement-protocol-0.0.0.20190501: test/HUnit/Arithmetic.hs
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE OverloadedStrings #-}
module HUnit.Arithmetic where
import Protocol.Arithmetic
import HUnit.Utils
hunit :: TestTree
hunit = testGroup "Arithmetic"
[ testGroup "inv"
[ testGroup "WeakParams"
[ testCase "groupGen" $
inv (groupGen @WeakParams) @?=
groupGen ^ E (groupOrder @WeakParams + neg one)
]
, testGroup "BeleniosParams"
[ testCase "groupGen" $
inv (groupGen @BeleniosParams) @?=
groupGen ^ E (groupOrder @BeleniosParams + neg one)
]
]
, testGroup "hash"
[ testGroup "WeakParams"
[ testCase "[groupGen]" $
hash "start" [groupGen @WeakParams] @?=
fromNatural 100
, testCase "[groupGen, groupGen]" $
hash "start" [groupGen @WeakParams, groupGen] @?=
fromNatural 16
]
, testGroup "BeleniosParams"
[ testCase "[groupGen]" $
hash "start" [groupGen @BeleniosParams] @?=
fromNatural 1832875488615060263192702367259
, testCase "[groupGen, groupGen]" $
hash "start" [groupGen @BeleniosParams, groupGen] @?=
fromNatural 2495277906542783643199702546512
]
]
]