github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/memberlist/weightbroadcast_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  	"testing"
     9  )
    10  
    11  func Test_weightBroadcast_Invalidates(t *testing.T) {
    12  	msg1 := memberlist.NewWeightBroadcast("testNode", []byte("test weight message1"))
    13  	ok := msg1.Invalidates(memberlist.NewWeightBroadcast("testNode", []byte("test weight message2")))
    14  	require.True(t, ok)
    15  
    16  	ctrl := gomock.NewController(t)
    17  	defer ctrl.Finish()
    18  	b := memmock.NewMockBroadcast(ctrl)
    19  	ok = msg1.Invalidates(b)
    20  	require.False(t, ok)
    21  
    22  	require.Equal(t, "test weight message1", string(msg1.Message()))
    23  	msg1.Finished()
    24  }