Skip to content

Commit

Permalink
+ Adding support for generating random domains.
Browse files Browse the repository at this point in the history
You can now call `fake.Domain()` to get a fake domain.
  • Loading branch information
amerine committed Apr 27, 2014
1 parent f954ebe commit 9f04d9d
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
25 changes: 23 additions & 2 deletions company.go
@@ -1,6 +1,10 @@
package fake

import "fmt"
import (
"fmt"
"regexp"
"strings"
)

var (
COMPANY_NAMES = []string{"CHOAM", "Acme", "Sirius Cybernetics", "Mom", "Rich",
Expand All @@ -13,10 +17,27 @@ var (
companySuffixes = []string{"Corp.", "Industries", "Enterprises", "Inc", "LLC",
"and Sons", "Group", "Ltd", "GmbH",
}

domainTLDs = []string{"net", "org", "com", "io"}
)

// Returns a random company name.
// Company returns a random company name.
func Company() (company string) {
company = fmt.Sprintf("%s %s", randomString(COMPANY_NAMES), randomString(companySuffixes))
return
}


// Domain returns a random domain name composed of a random company name, and
// a random TLD.
func Domain() (company string) {
de := regexp.MustCompile("\\s|\\.")
company = fmt.Sprintf("%s.%s",
strings.ToLower(de.ReplaceAllLiteralString(Company(), "")),
randomTld())
return
}

func randomTld() string {
return randomString(domainTLDs)
}
18 changes: 18 additions & 0 deletions fake_test.go
Expand Up @@ -3,6 +3,7 @@ package fake
import (
"fmt"
"testing"
"regexp"
)

func TestFullName(t *testing.T) {
Expand All @@ -28,6 +29,19 @@ func TestCompany(t *testing.T) {
}
}

func TestDomain(t *testing.T) {
domainRe := regexp.MustCompile("[a-zA-Z]+\\.[a-zA-Z]+$")
domain := ""
domain = Domain()
if domain == "" {
t.Errorf("Expected domain to return a domain, Got %s", domain)
}

if !domainRe.MatchString(domain) {
t.Errorf("Expected domain to be a domain, Got %s", domain)
}
}

func ExampleUserF() {
fmt.Println("Full Name", FullName())
fmt.Println("First Name", FirstName())
Expand All @@ -38,3 +52,7 @@ func ExampleUserF() {
func ExampleCompany() {
fmt.Println("Company", Company())
}

func ExampleDomain() {
fmt.Println("Domain", Domain())
}

0 comments on commit 9f04d9d

Please sign in to comment.