Skip to content

Commit

Permalink
duplicated noun removed, NewHaikunator renamed to just New
Browse files Browse the repository at this point in the history
  • Loading branch information
Atrox committed Sep 23, 2016
1 parent a961ac6 commit a67e32b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 24 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -21,11 +21,11 @@ Haikunator is pretty simple.
package main

import (
"github.com/atrox/haikunatorgo"
haikunator "github.com/atrox/haikunatorgo"
)

func main() {
haikunator := haikunator.NewHaikunator()
haikunator := haikunator.New()

// default usage
haikunator.Haikunate() // => "wispy-dust-1337"
Expand Down
13 changes: 6 additions & 7 deletions haikunator.go
Expand Up @@ -48,18 +48,17 @@ var nouns = []string{
"river", "salad", "scene", "sea", "shadow", "shape", "silence", "sky",
"smoke", "snow", "snowflake", "sound", "star", "sun", "sun", "sunset",
"surf", "term", "thunder", "tooth", "tree", "truth", "union", "unit",
"violet", "voice", "water", "water", "waterfall", "wave", "wildflower", "wind",
"wood",
"violet", "voice", "water", "waterfall", "wave", "wildflower", "wind", "wood",
}

const (
numbers = "0123456789"
hex = "0123456789abcdef"
)

// NewHaikunator creates a new Haikunator with all default options
func NewHaikunator() Haikunator {
return Haikunator{
// New creates a new Haikunator with all default options
func New() *Haikunator {
return &Haikunator{
Adjectives: adjectives,
Nouns: nouns,
Delimiter: "-",
Expand All @@ -76,7 +75,7 @@ func (h *Haikunator) Haikunate() string {
noun := h.randomString(h.Nouns)
token := h.buildToken()

sections := deleteEmpty([]string{adjective, noun, token})
sections := deleteEmpty(adjective, noun, token)
return strings.Join(sections, h.Delimiter)
}

Expand Down Expand Up @@ -117,7 +116,7 @@ func (h *Haikunator) randomString(s []string) string {
}

// Deletes empty strings from slice
func deleteEmpty(s []string) []string {
func deleteEmpty(s ...string) []string {
var r []string
for _, str := range s {
if str != "" {
Expand Down
30 changes: 15 additions & 15 deletions haikunator_test.go
Expand Up @@ -7,7 +7,7 @@ import (
)

func TestDefaultUse(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haiku := haikunator.Haikunate()

matched, err := regexp.MatchString("((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{4})$", haiku)
Expand All @@ -20,7 +20,7 @@ func TestDefaultUse(t *testing.T) {
}

func TestHexUse(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.TokenHex = true

haiku := haikunator.Haikunate()
Expand All @@ -35,7 +35,7 @@ func TestHexUse(t *testing.T) {
}

func TestDigitsUse(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.TokenLength = 9

haiku := haikunator.Haikunate()
Expand All @@ -50,7 +50,7 @@ func TestDigitsUse(t *testing.T) {
}

func TestDigitsAsHexUse(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.TokenLength = 9
haikunator.TokenHex = true

Expand All @@ -66,7 +66,7 @@ func TestDigitsAsHexUse(t *testing.T) {
}

func TestWontReturnSameForSubsequentCalls(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haiku1 := haikunator.Haikunate()
haiku2 := haikunator.Haikunate()

Expand All @@ -76,7 +76,7 @@ func TestWontReturnSameForSubsequentCalls(t *testing.T) {
}

func TestDropsToken(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.TokenLength = 0

haiku := haikunator.Haikunate()
Expand All @@ -91,7 +91,7 @@ func TestDropsToken(t *testing.T) {
}

func TestPermitsOptionalDelimiter(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Delimiter = "."

haiku := haikunator.Haikunate()
Expand All @@ -106,7 +106,7 @@ func TestPermitsOptionalDelimiter(t *testing.T) {
}

func TestSpaceDelimiterAndNoToken(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Delimiter = " "
haikunator.TokenLength = 0

Expand All @@ -122,7 +122,7 @@ func TestSpaceDelimiterAndNoToken(t *testing.T) {
}

func TestOneSingleWord(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Delimiter = ""
haikunator.TokenLength = 0

Expand All @@ -138,7 +138,7 @@ func TestOneSingleWord(t *testing.T) {
}

func TestCustomChars(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.TokenChars = "A"

haiku := haikunator.Haikunate()
Expand All @@ -153,7 +153,7 @@ func TestCustomChars(t *testing.T) {
}

func TestCustomAdjectivesAndNouns(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Adjectives = []string{"red"}
haikunator.Nouns = []string{"reindeer"}

Expand All @@ -169,7 +169,7 @@ func TestCustomAdjectivesAndNouns(t *testing.T) {
}

func TestRemoveAdjectivesAndNouns(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Adjectives = []string{""}
haikunator.Nouns = []string{""}

Expand All @@ -185,11 +185,11 @@ func TestRemoveAdjectivesAndNouns(t *testing.T) {
}

func TestCustomRandom(t *testing.T) {
haikunator1 := NewHaikunator()
haikunator1 := New()
haikunator1.Random = rand.New(rand.NewSource(123))
haiku1 := haikunator1.Haikunate()

haikunator2 := NewHaikunator()
haikunator2 := New()
haikunator2.Random = rand.New(rand.NewSource(123))
haiku2 := haikunator2.Haikunate()

Expand All @@ -199,7 +199,7 @@ func TestCustomRandom(t *testing.T) {
}

func TestZeroLengthOptionsPanic(t *testing.T) {
haikunator := NewHaikunator()
haikunator := New()
haikunator.Adjectives = make([]string, 0)
haikunator.Nouns = make([]string, 0)
haikunator.TokenChars = ""
Expand Down

0 comments on commit a67e32b

Please sign in to comment.