github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/memberlist/broadcast_test.go (about)

     1  package memberlist_test
     2  
     3  import (
     4  	"github.com/golang/mock/gomock"
     5  	"github.com/stretchr/testify/require"
     6  	"github.com/unionj-cloud/go-doudou/v2/toolkit/memberlist"
     7  	memmock "github.com/unionj-cloud/go-doudou/v2/toolkit/memberlist/mock"
     8  	"reflect"
     9  	"testing"
    10  )
    11  
    12  func TestMemberlistBroadcast_Invalidates(t *testing.T) {
    13  	m1 := memberlist.NewMemberlistBroadcast("test", nil, nil)
    14  	m2 := memberlist.NewMemberlistBroadcast("foo", nil, nil)
    15  
    16  	if m1.Invalidates(m2) || m2.Invalidates(m1) {
    17  		t.Fatalf("unexpected invalidation")
    18  	}
    19  
    20  	if !m1.Invalidates(m1) {
    21  		t.Fatalf("expected invalidation")
    22  	}
    23  
    24  	ctrl := gomock.NewController(t)
    25  	defer ctrl.Finish()
    26  	b := memmock.NewMockBroadcast(ctrl)
    27  	ok := m1.Invalidates(b)
    28  	require.False(t, ok)
    29  }
    30  
    31  func TestMemberlistBroadcast_Message(t *testing.T) {
    32  	m1 := memberlist.NewMemberlistBroadcast("test", []byte("test"), nil)
    33  	msg := m1.Message()
    34  	if !reflect.DeepEqual(msg, []byte("test")) {
    35  		t.Fatalf("messages do not match")
    36  	}
    37  }