stringutils_test.go 893 B

12345678910111213141516171819202122232425262728293031323334
  1. package testutil // import "github.com/docker/docker/testutil"
  2. import (
  3. "testing"
  4. "gotest.tools/v3/assert"
  5. is "gotest.tools/v3/assert/cmp"
  6. )
  7. func testLengthHelper(generator func(int) string, t *testing.T) {
  8. expectedLength := 20
  9. s := generator(expectedLength)
  10. assert.Check(t, is.Equal(expectedLength, len(s)))
  11. }
  12. func testUniquenessHelper(generator func(int) string, t *testing.T) {
  13. repeats := 25
  14. set := make(map[string]struct{}, repeats)
  15. for i := 0; i < repeats; i = i + 1 {
  16. str := generator(64)
  17. assert.Check(t, is.Equal(64, len(str)))
  18. _, ok := set[str]
  19. assert.Check(t, !ok, "Random number is repeated")
  20. set[str] = struct{}{}
  21. }
  22. }
  23. func TestGenerateRandomAlphaOnlyStringLength(t *testing.T) {
  24. testLengthHelper(GenerateRandomAlphaOnlyString, t)
  25. }
  26. func TestGenerateRandomAlphaOnlyStringUniqueness(t *testing.T) {
  27. testUniquenessHelper(GenerateRandomAlphaOnlyString, t)
  28. }