blob: f7dae2766c3b985bfc0bb0840fe5f8c29ff22da4 [file] [log] [blame]
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
}