github.com/someshkoli/terratest@v0.41.1/modules/random/random_test.go (about)

     1  package random
     2  
     3  import (
     4  	"strconv"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestRandom(t *testing.T) {
    11  	t.Parallel()
    12  
    13  	min := 0
    14  	max := 100
    15  
    16  	for i := 0; i < 100000; i++ {
    17  		value := Random(min, max)
    18  		assert.True(t, value >= min && value <= max)
    19  	}
    20  }
    21  
    22  func TestRandomInt(t *testing.T) {
    23  	t.Parallel()
    24  
    25  	min := 0
    26  	max := 1000
    27  
    28  	list := []int{}
    29  	for i := min; i < max; i++ {
    30  		list = append(list, i)
    31  	}
    32  
    33  	for i := 0; i < 100000; i++ {
    34  		value := RandomInt(list)
    35  		assert.Contains(t, list, value)
    36  	}
    37  }
    38  
    39  func TestRandomString(t *testing.T) {
    40  	t.Parallel()
    41  
    42  	min := 0
    43  	max := 1000
    44  
    45  	list := []string{}
    46  	for i := min; i < max; i++ {
    47  		list = append(list, strconv.Itoa(i))
    48  	}
    49  
    50  	for i := 0; i < 100000; i++ {
    51  		value := RandomString(list)
    52  		assert.Contains(t, list, value)
    53  	}
    54  }
    55  
    56  func TestUniqueId(t *testing.T) {
    57  	t.Parallel()
    58  
    59  	previouslySeen := map[string]bool{}
    60  
    61  	for i := 0; i < 100; i++ {
    62  		uniqueID := UniqueId()
    63  		assert.Len(t, uniqueID, 6)
    64  		assert.NotContains(t, previouslySeen, uniqueID)
    65  
    66  		previouslySeen[uniqueID] = true
    67  	}
    68  }