github.com/yacovm/fabric@v2.0.0-alpha.0.20191128145320-c5d4087dc723+incompatible/common/graph/choose_test.go (about)

     1  /*
     2  Copyright IBM Corp. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package graph
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/stretchr/testify/assert"
    13  )
    14  
    15  func TestCombinationsExceed(t *testing.T) {
    16  	// 20 choose 5 is 15504.
    17  	assert.False(t, CombinationsExceed(20, 5, 15504))
    18  	assert.False(t, CombinationsExceed(20, 5, 15505))
    19  	assert.True(t, CombinationsExceed(20, 5, 15503))
    20  
    21  	// A huge number of combinations doesn't overflow.
    22  	assert.True(t, CombinationsExceed(10000, 500, 9000))
    23  
    24  	// N < K returns false
    25  	assert.False(t, CombinationsExceed(20, 30, 0))
    26  }