mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-10 11:41:21 +00:00
5aac06f04e
* begin move * use same import path * imports * regen protos * regen * no rename * generate ssz * gaz * fmt * edit build file * imports * modify * remove generated files * remove protos * edit imports in prysm * beacon chain all builds * edit script * add generated pbs * add replace rules * license for ethereumapis protos * change visibility * fmt * update build files to gaz ignore * use proper form * edit imports * wrap block * revert scripts * revert go mod
94 lines
2.0 KiB
Go
94 lines
2.0 KiB
Go
package slashutil
|
|
|
|
import (
|
|
"testing"
|
|
|
|
types "github.com/prysmaticlabs/eth2-types"
|
|
ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1"
|
|
)
|
|
|
|
func TestIsSurround(t *testing.T) {
|
|
type args struct {
|
|
a *ethpb.IndexedAttestation
|
|
b *ethpb.IndexedAttestation
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want bool
|
|
}{
|
|
{
|
|
name: "0 values returns false",
|
|
args: args{
|
|
a: createAttestation(0, 0),
|
|
b: createAttestation(0, 0),
|
|
},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "detects surrounding attestation",
|
|
args: args{
|
|
a: createAttestation(2, 5),
|
|
b: createAttestation(3, 4),
|
|
},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "new attestation source == old source, but new target < old target",
|
|
args: args{
|
|
a: createAttestation(3, 5),
|
|
b: createAttestation(3, 4),
|
|
},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "new attestation source > old source, but new target == old target",
|
|
args: args{
|
|
a: createAttestation(3, 5),
|
|
b: createAttestation(4, 5),
|
|
},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "new attestation source and targets equal to old one",
|
|
args: args{
|
|
a: createAttestation(3, 5),
|
|
b: createAttestation(3, 5),
|
|
},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "new attestation source == old source, but new target > old target",
|
|
args: args{
|
|
a: createAttestation(3, 5),
|
|
b: createAttestation(3, 6),
|
|
},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "new attestation source < old source, but new target == old target",
|
|
args: args{
|
|
a: createAttestation(3, 5),
|
|
b: createAttestation(2, 5),
|
|
},
|
|
want: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := IsSurround(tt.args.a, tt.args.b); got != tt.want {
|
|
t.Errorf("IsSurrounding() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func createAttestation(source, target types.Epoch) *ethpb.IndexedAttestation {
|
|
return ðpb.IndexedAttestation{
|
|
Data: ðpb.AttestationData{
|
|
Source: ðpb.Checkpoint{Epoch: source},
|
|
Target: ðpb.Checkpoint{Epoch: target},
|
|
},
|
|
}
|
|
}
|