mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-26 05:17:22 +00:00
d17996f8b0
* Update V3 from V4 * Fix build v3 -> v4 * Update ssz * Update beacon_chain.pb.go * Fix formatter import * Update update-mockgen.sh comment to v4 * Fix conflicts. Pass build and tests * Fix test
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package depositsnapshot
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/prysmaticlabs/prysm/v4/testing/require"
|
|
)
|
|
|
|
func TestDepositTreeSnapshot_CalculateRoot(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
finalized int
|
|
depositCount uint64
|
|
want [32]byte
|
|
}{
|
|
{
|
|
name: "empty",
|
|
finalized: 0,
|
|
depositCount: 0,
|
|
want: [32]byte{215, 10, 35, 71, 49, 40, 92, 104, 4, 194, 164, 245, 103, 17, 221, 184, 200, 44, 153, 116, 15, 32, 120, 84, 137, 16, 40, 175, 52, 226, 126, 94},
|
|
},
|
|
{
|
|
name: "1 Finalized",
|
|
finalized: 1,
|
|
depositCount: 2,
|
|
want: [32]byte{36, 118, 154, 57, 217, 109, 145, 116, 238, 1, 207, 59, 187, 28, 69, 187, 70, 55, 153, 180, 15, 150, 37, 72, 140, 36, 109, 154, 212, 202, 47, 59},
|
|
},
|
|
{
|
|
name: "many finalised",
|
|
finalized: 6,
|
|
depositCount: 20,
|
|
want: [32]byte{210, 63, 57, 119, 12, 5, 3, 25, 139, 20, 244, 59, 114, 119, 35, 88, 222, 88, 122, 106, 239, 20, 45, 140, 99, 92, 222, 166, 133, 159, 128, 72},
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
var finalized [][32]byte
|
|
for i := 0; i < tt.finalized; i++ {
|
|
finalized = append(finalized, hexString(t, fmt.Sprintf("%064d", i)))
|
|
}
|
|
ds := &DepositTreeSnapshot{
|
|
finalized: finalized,
|
|
depositCount: tt.depositCount,
|
|
}
|
|
root, err := ds.CalculateRoot()
|
|
require.NoError(t, err)
|
|
if got := root; !reflect.DeepEqual(got, tt.want) {
|
|
require.DeepEqual(t, tt.want, got)
|
|
}
|
|
})
|
|
}
|
|
}
|