go-merkletree-iden3/merkletree_test.go
merkletree_test.goRaw
1package merkletree
2
3import (
4 "math/big"
5 "testing"
6
7 "github.com/iden3/go-iden3-core/db"
8 "github.com/stretchr/testify/assert"
9)
10
11func TestNewTree(t *testing.T) {
12 mt, err := NewMerkleTree(db.NewMemoryStorage(), 10)
13 assert.Nil(t, err)
14 assert.Equal(t, "0", mt.Root().String())
15
16 // test vectors generated using https://github.com/iden3/circomlib smt.js
17 err = mt.Add(big.NewInt(1), big.NewInt(2))
18 assert.Nil(t, err)
19 assert.Equal(t, "4932297968297298434239270129193057052722409868268166443802652458940273154854", mt.Root().BigInt().String())
20
21 err = mt.Add(big.NewInt(33), big.NewInt(44))
22 assert.Nil(t, err)
23 assert.Equal(t, "13563340744765267202993741297198970774200042973817962221376874695587906013050", mt.Root().BigInt().String())
24
25 err = mt.Add(big.NewInt(1234), big.NewInt(9876))
26 assert.Nil(t, err)
27 assert.Equal(t, "16970503620176669663662021947486532860010370357132361783766545149750777353066", mt.Root().BigInt().String())
28}