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  }