github.com/0chain/gosdk@v1.17.11/zboxcore/sdk/consensus_test.go (about) 1 package sdk 2 3 import ( 4 "sync" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestConsensus_isConsensusOk(t *testing.T) { 11 type fields struct { 12 consensus int 13 consensusThresh int 14 fullconsensus int 15 consensusRequiredForOk int 16 } 17 tests := []struct { 18 name string 19 fields fields 20 want bool 21 }{ 22 { 23 "Test_Is_Consensus_OK_True", 24 fields{ 25 consensus: 3, 26 consensusThresh: 2, 27 fullconsensus: 4, 28 consensusRequiredForOk: 60, 29 }, 30 true, 31 }, 32 { 33 "Test_Is_Consensus_OK_False", 34 fields{ 35 consensus: 2, 36 consensusThresh: 3, 37 fullconsensus: 4, 38 consensusRequiredForOk: 60, 39 }, 40 false, 41 }, 42 } 43 for _, tt := range tests { 44 t.Run(tt.name, func(t *testing.T) { 45 req := &Consensus{ 46 RWMutex: &sync.RWMutex{}, 47 consensus: tt.fields.consensus, 48 consensusThresh: tt.fields.consensusThresh, 49 fullconsensus: tt.fields.fullconsensus, 50 } 51 got := req.isConsensusOk() 52 require := require.New(t) 53 var check = require.False 54 if tt.want { 55 check = require.True 56 } 57 check(got) 58 }) 59 } 60 }