Fix VirtualTree.addBatch bucket levels

This commit is contained in:
arnaucube
2021-08-29 23:38:41 +02:00
parent bc23beb813
commit 1638860da0
2 changed files with 25 additions and 1 deletions

View File

@@ -143,6 +143,30 @@ func TestVirtualTreeAddBatch(t *testing.T) {
c.Assert(vTree.root.h, qt.DeepEquals, root)
}
func TestVirtualTreeAddBatchFullyUsed(t *testing.T) {
c := qt.New(t)
vTree1 := newVT(7, HashFunctionPoseidon) // used for add one by one
vTree2 := newVT(7, HashFunctionPoseidon) // used for addBatch
var keys, values [][]byte
for i := 0; i < 128; i++ {
k := BigIntToBytes(32, big.NewInt(int64(i)))
v := k
keys = append(keys, k)
values = append(values, v)
// add one by one expecting no error
err := vTree1.add(0, k, v)
c.Assert(err, qt.IsNil)
}
invalids, err := vTree2.addBatch(keys, values)
c.Assert(err, qt.IsNil)
c.Assert(0, qt.Equals, len(invalids))
}
func TestGetNodesAtLevel(t *testing.T) {
c := qt.New(t)