packages feed

pairing-0.5.0: tests/SerializeTests.hs

module SerializeTests where

import Test.Tasty

testSerialize :: TestTree
testSerialize = testGroup "Serialize"
  [
  ]

-- serializeTest pt compFunc testFunc = do
--   let (Just cbs) = compFunc pt
--   let npt2e = testFunc cbs
--   isRight npt2e @? (Protolude.show npt2e)
--   let (Right npt2) = npt2e
--   pt @=? npt2
-- 
-- serializeUncompProp :: (Ord b, Show b, MkUncompressedForm a, ByteRepr b, FromX b) => (a -> LByteString -> Either Text (Point b)) -> a -> Point b -> Property
-- serializeUncompProp f a g = TQM.monadicIO $ TQM.run $ serializeTest g (serializePointUncompressed a) (f a)
-- 
-- serializeCompProp :: (Ord b, Show b, MkCompressedForm a, ByteRepr b, FromX b) => (a -> LByteString -> Either Text (Point b)) -> a -> Point b -> Property
-- serializeCompProp f a g = TQM.monadicIO $ TQM.run $ serializeTest g (serializeCompressed a) (f a)
-- 
-- unit_g1SerializeCompMCLWasm :: Assertion
-- unit_g1SerializeCompMCLWasm = do
--   let g1pt = Point (9314493114755198232379544958894901330290171903936264295471737527783061073337 :: Fq) (3727704492399430267836652969370123320076852948746739702603703543134592597527 :: Fq)
--   let hs = hexString "b92db2fcfcba5ad9f6b676de13a5488b54dfd537ae5c96291f399284f7d09794"
--   let Right np = unserializePoint MCLWASM g1 (toSL $ H.toBytes hs)
--   np @=? g1pt
-- 
-- prop_g1SerializeUncompJivsov :: G1 -> Property
-- prop_g1SerializeUncompJivsov g = serializeUncompProp fromByteStringG1 Jivsov g
-- 
-- prop_g1SerializeCompJivsov :: G1 -> Property
-- prop_g1SerializeCompJivsov g = serializeCompProp fromByteStringG1 Jivsov g
-- 
-- prop_g1SerializeCompMCLWasm :: G1 -> Property
-- prop_g1SerializeCompMCLWasm g = serializeCompProp fromByteStringG1 MCLWASM g
-- 
-- unit_g2SerializeCompMCLWasm :: Assertion
-- unit_g2SerializeCompMCLWasm = do
--   let fq2x = toField ([6544947162799133903546594463061476713923884516504213524167597810128866380952,  1440920261338086273401746857890494196693993714596389710801111883382590011446] :: [Fq]) :: Fq2
--   let fq2y = toField ([7927561822697823059695659663409507948904771679743888257723485312240532833493, 2189896469972867352153851473169755334250894385106289486234761879693772655721] :: [Fq]) :: Fq2
--   let g2pt = Point fq2x fq2y
--   let hs = hexString "980cf2acdb1645247a512f91cbbbbb1f4fa2328c979ae26d550ec7b80e4f780e36f82f7090c4d516a2257fcee804df8421af857b2f80ffccfc11c6f52e882f83"
--   let Right np = unserializePoint MCLWASM g2 (toSL $ H.toBytes hs)
--   np @=? g2pt
-- 
-- prop_g2SerializeUncompJivsov :: G2 -> Property
-- prop_g2SerializeUncompJivsov g = serializeUncompProp fromByteStringG2 Jivsov g
-- 
-- prop_g2SerializeCompJivsov :: G2 -> Property
-- prop_g2SerializeCompJivsov g = serializeCompProp fromByteStringG2 Jivsov g
-- 
-- prop_g2SerializeCompMCLWasm :: G2 -> Property
-- prop_g2SerializeCompMCLWasm g = serializeCompProp fromByteStringG2 MCLWASM g
-- 
-- gtSerializeTest :: G1 -> G2 -> Assertion
-- gtSerializeTest g1 g2 = serializeTest (reducedPairing g1 g2) (serializeUncompressed Jivsov) (fromByteStringGT Jivsov)
-- 
-- prop_gtSerializeUncomp :: G1 -> G2 -> Property
-- prop_gtSerializeUncomp g1 g2 = TQM.monadicIO $ TQM.run $ gtSerializeTest g1 g2