stringutils_test.go 805 B

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