package namesgenerator import ( "strings" "testing" ) // Make sure the generated names are awesome func TestGenerateAwesomeNames(t *testing.T) { name := GetRandomName(0) if !isAwesome(name) { t.Fatalf("Generated name '%s' is not awesome.", name) } } func TestNameFormat(t *testing.T) { name := GetRandomName(0) if !strings.Contains(name, "_") { t.Fatalf("Generated name does not contain an underscore") } if strings.ContainsAny(name, "0123456789") { t.Fatalf("Generated name contains numbers!") } } func TestNameRetries(t *testing.T) { name := GetRandomName(1) if !strings.Contains(name, "_") { t.Fatalf("Generated name does not contain an underscore") } if !strings.ContainsAny(name, "0123456789") { t.Fatalf("Generated name doesn't contain a number") } } // To be awesome, a container name must involve cool inventors, be easy to remember, // be at least mildly funny, and always be politically correct for enterprise adoption. func isAwesome(name string) bool { coolInventorNames := true easyToRemember := true mildlyFunnyOnOccasion := true politicallyCorrect := true return coolInventorNames && easyToRemember && mildlyFunnyOnOccasion && politicallyCorrect }