github.com/willmadison/cli@v6.40.1-0.20181018160101-29d5937903ff+incompatible/util/randomword/generator_test.go (about)

     1  package randomword_test
     2  
     3  import (
     4  	"time"
     5  
     6  	. "code.cloudfoundry.org/cli/util/randomword"
     7  
     8  	. "github.com/onsi/ginkgo"
     9  	. "github.com/onsi/gomega"
    10  )
    11  
    12  var _ = Describe("Generator", func() {
    13  	var gen Generator
    14  
    15  	BeforeEach(func() {
    16  		gen = Generator{}
    17  	})
    18  
    19  	Describe("RandomAdjective", func() {
    20  		It("generates a random adjective each time it is called", func() {
    21  			setOne := []string{}
    22  			setTwo := []string{}
    23  
    24  			for i := 0; i < 3; i++ {
    25  				setOne = append(setOne, gen.RandomAdjective())
    26  				// We wait for 3 millisecond because the seed we use to generate the
    27  				// randomness has a unit of 1 nanosecond plus random test flakiness
    28  				time.Sleep(3)
    29  				setTwo = append(setTwo, gen.RandomAdjective())
    30  			}
    31  			Expect(setOne).ToNot(ConsistOf(setTwo))
    32  		})
    33  	})
    34  
    35  	Describe("RandomNoun", func() {
    36  		It("generates a random noun each time it is called", func() {
    37  			setOne := []string{}
    38  			setTwo := []string{}
    39  
    40  			for i := 0; i < 3; i++ {
    41  				setOne = append(setOne, gen.RandomNoun())
    42  				// We wait for 3 millisecond because the seed we use to generate the
    43  				// randomness has a unit of 1 nanosecond plus random test flakiness
    44  				time.Sleep(3)
    45  				setTwo = append(setTwo, gen.RandomNoun())
    46  			}
    47  			Expect(setOne).ToNot(ConsistOf(setTwo))
    48  		})
    49  	})
    50  
    51  	Describe("Babble", func() {
    52  		It("generates a random adjective noun pair each time it is called", func() {
    53  			wordPair := gen.Babble()
    54  			Expect(wordPair).To(MatchRegexp("^\\w+-\\w+$"))
    55  		})
    56  	})
    57  })