package arbo import ( "encoding/hex" "math/big" "testing" qt "github.com/frankban/quicktest" ) func TestHashSha256(t *testing.T) { // Sha256 hash hashFunc := &HashSha256{} b := []byte("test") h, err := hashFunc.Hash(b) if err != nil { t.Fatal(err) } c := qt.New(t) c.Assert(hex.EncodeToString(h), qt.Equals, "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08") } func TestHashPoseidon(t *testing.T) { // Poseidon hash hashFunc := &HashPoseidon{} bLen := hashFunc.Len() h, err := hashFunc.Hash( BigIntToBytes(bLen, big.NewInt(1)), BigIntToBytes(bLen, big.NewInt(2))) if err != nil { t.Fatal(err) } hBI := BytesToBigInt(h) // value checked with circomlib c := qt.New(t) c.Assert(hBI.String(), qt.Equals, "7853200120776062878684798364095072458815029376092732009249414926327459813530") } func TestHashBlake2b(t *testing.T) { // Blake2b hash hashFunc := &HashBlake2b{} b := []byte("test") h, err := hashFunc.Hash(b) if err != nil { t.Fatal(err) } c := qt.New(t) c.Assert(hex.EncodeToString(h), qt.Equals, "928b20366943e2afd11ebc0eae2e53a93bf177a4fcf35bcc64d503704e65e202") }