prysm-pulse/shared/p2p/feed_test.go

49 lines
1.1 KiB
Go
Raw Normal View History

package p2p
import (
"reflect"
"testing"
)
func TestFeed_ReturnsSameFeed(t *testing.T) {
tests := []struct {
a interface{}
b interface{}
want bool
}{
// Equality tests
{a: 1, b: 2, want: true},
{a: 'a', b: 'b', want: true},
{a: struct{ c int }{c: 1}, b: struct{ c int }{c: 2}, want: true},
{a: struct{ c string }{c: "a"}, b: struct{ c string }{c: "b"}, want: true},
{a: reflect.TypeOf(struct{ c int }{c: 1}), b: struct{ c int }{c: 2}, want: true},
// Inequality tests
{a: 1, b: '2', want: false},
{a: 'a', b: 1, want: false},
{a: struct{ c int }{c: 1}, b: struct{ c int64 }{c: 2}, want: false},
{a: struct{ c string }{c: "a"}, b: struct{ c float64 }{c: 3.4}, want: false},
}
s, _ := NewServer()
for _, tt := range tests {
feed1 := s.Feed(tt.a)
feed2 := s.Feed(tt.b)
if (feed1 == feed2) != tt.want {
t.Errorf("Expected %v == %v to be %t", feed1, feed2, tt.want)
}
}
}
func TestFeed_ConcurrentWrite(t *testing.T) {
s, err := NewServer()
if err != nil {
t.Fatalf("could not create server %v", err)
}
for i := 0; i < 5; i++ {
go s.Feed("a")
}
}