diff --git a/boolean_test.go b/boolean_test.go index 766989a..e88c2f7 100644 --- a/boolean_test.go +++ b/boolean_test.go @@ -4,13 +4,13 @@ import ( "reflect" "testing" - "github.com/stretchr/testify/require" - "github.com/neotoolkit/faker" ) func TestBoolean_Boolean(t *testing.T) { f := faker.NewFaker().Boolean() - require.Equal(t, "bool", reflect.TypeOf(f.Boolean()).String()) + if reflect.TypeOf(f.Boolean()).String() != "bool" { + t.Fatal("Boolean type must be bool") + } } diff --git a/faker_test.go b/faker_test.go index d47328e..e09d949 100644 --- a/faker_test.go +++ b/faker_test.go @@ -4,8 +4,6 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/require" - "github.com/neotoolkit/faker" ) @@ -33,9 +31,19 @@ func TestIntBetween(t *testing.T) { t.Run(tc.name, func(t *testing.T) { value := f.IntBetween(tc.min, tc.max) - require.Equal(t, fmt.Sprintf("%T", value), "int") - require.True(t, value >= tc.min) - require.True(t, value <= tc.max) + valueType := fmt.Sprintf("%T", value) + + if valueType != "int" { + t.Fatalf("value type want int, got %T", value) + } + + if value < tc.min { + t.Fatalf("value must be less %d", tc.min) + } + + if value > tc.max { + t.Fatalf("value must be greater %d", tc.max) + } }) } } @@ -156,7 +164,9 @@ func TestByName(t *testing.T) { f := faker.NewFaker() got := f.ByName(tc.faker) - require.True(t, got != nil) + if nil == got { + t.Fatal("faker by name is nil") + } }) } } diff --git a/go.mod b/go.mod index b67c9c9..5b9a5b1 100644 --- a/go.mod +++ b/go.mod @@ -1,14 +1,3 @@ module github.com/neotoolkit/faker -go 1.17 - -require ( - github.com/google/uuid v1.3.0 - github.com/stretchr/testify v1.7.2 -) - -require ( - github.com/davecgh/go-spew v1.1.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) +go 1.18 diff --git a/go.sum b/go.sum index c48c554..e69de29 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +0,0 @@ -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internet_test.go b/internet_test.go index ccb0777..eea0588 100644 --- a/internet_test.go +++ b/internet_test.go @@ -1,11 +1,8 @@ package faker_test import ( - "strings" "testing" - "github.com/stretchr/testify/require" - "github.com/neotoolkit/faker" ) @@ -13,27 +10,34 @@ func TestUsername(t *testing.T) { i := faker.NewFaker().Internet() username := i.Username() - require.Equal(t, true, len(username) > 0) - require.Equal(t, false, strings.Contains(username, " ")) + if len(username) == 0 { + t.Fatal("username is empty") + } } func TestGTLD(t *testing.T) { i := faker.NewFaker().Internet() gTLD := i.GTLD() - require.True(t, len(gTLD) > 0) + if len(gTLD) == 0 { + t.Fatal("gTLD is empty") + } } func TestDomain(t *testing.T) { i := faker.NewFaker().Internet() d := i.Domain() - require.True(t, len(d) > 0) + if len(d) == 0 { + t.Fatal("domain is empty") + } } func TestEmail(t *testing.T) { i := faker.NewFaker().Internet() e := i.Email() - require.True(t, len(e) > 0) + if len(e) == 0 { + t.Fatal("domain is empty") + } } diff --git a/person_test.go b/person_test.go index 5b2c3e0..9089d92 100644 --- a/person_test.go +++ b/person_test.go @@ -4,8 +4,6 @@ import ( "strings" "testing" - "github.com/stretchr/testify/require" - "github.com/neotoolkit/faker" ) @@ -13,7 +11,9 @@ func TestPerson_FirstName(t *testing.T) { f := faker.NewFaker() firstName := f.Person().FirstName() - require.True(t, len(firstName) > 0) + if len(firstName) == 0 { + t.Fatal("firstName is empty") + } } func TestPerson_LastName(t *testing.T) { @@ -21,14 +21,18 @@ func TestPerson_LastName(t *testing.T) { p := f.Person() lastName := p.LastName() - require.True(t, len(lastName) > 0) + if len(lastName) == 0 { + t.Fatal("lastName is empty") + } } func TestPerson_FirstNameMale(t *testing.T) { f := faker.NewFaker() firstNameMale := f.Person().FirstNameMale() - require.True(t, len(firstNameMale) > 0) + if len(firstNameMale) == 0 { + t.Fatal("firstNameMale is empty") + } } func TestPerson_FirstNameFemale(t *testing.T) { @@ -36,7 +40,9 @@ func TestPerson_FirstNameFemale(t *testing.T) { p := f.Person() firstNameFemale := p.FirstNameFemale() - require.True(t, len(firstNameFemale) > 0) + if len(firstNameFemale) == 0 { + t.Fatal("firstNameFemale is empty") + } } func TestPerson_Name(t *testing.T) { @@ -44,10 +50,21 @@ func TestPerson_Name(t *testing.T) { p := f.Person() name := p.Name() - require.True(t, len(name) > 0) - require.False(t, strings.Contains(name, "{{FirstNameMale}}")) - require.False(t, strings.Contains(name, "{{FirstNameFemale}}")) - require.False(t, strings.Contains(name, "{{LastName}}")) + if len(name) == 0 { + t.Fatal("name is empty") + } + + if strings.Contains(name, "{{FirstNameMale}}") { + t.Fatal("name is format") + } + + if strings.Contains(name, "{{FirstNameFemale}}") { + t.Fatal("name is format") + } + + if strings.Contains(name, "{{LastName}}") { + t.Fatal("name is format") + } } func TestPerson_NameMale(t *testing.T) { @@ -55,7 +72,9 @@ func TestPerson_NameMale(t *testing.T) { p := f.Person() nameMale := p.NameMale() - require.True(t, len(nameMale) > 0) + if len(nameMale) == 0 { + t.Fatal("nameMale is empty") + } } func TestPerson_NameFemale(t *testing.T) { @@ -63,7 +82,9 @@ func TestPerson_NameFemale(t *testing.T) { p := f.Person() nameFemale := p.NameFemale() - require.True(t, len(nameFemale) > 0) + if len(nameFemale) == 0 { + t.Fatal("nameFemale is empty") + } } func TestPerson_Gender(t *testing.T) { @@ -71,7 +92,9 @@ func TestPerson_Gender(t *testing.T) { p := f.Person() gender := p.Gender() - require.True(t, gender == "Male" || gender == "Female") + if !(gender == "Male" || gender == "Female") { + t.Fatal("gender must be male or female") + } } func TestPerson_GenderMale(t *testing.T) { @@ -79,7 +102,9 @@ func TestPerson_GenderMale(t *testing.T) { p := f.Person() genderMale := p.GenderMale() - require.True(t, genderMale == "Male") + if genderMale != "Male" { + t.Fatal("genderMale must be male") + } } func TestPerson_GenderFemale(t *testing.T) { @@ -87,5 +112,7 @@ func TestPerson_GenderFemale(t *testing.T) { p := f.Person() genderFemale := p.GenderFemale() - require.True(t, genderFemale == "Female") + if genderFemale != "Female" { + t.Fatal("genderFemale must be female") + } } diff --git a/uuid.go b/uuid.go index a81a69a..15e49f8 100644 --- a/uuid.go +++ b/uuid.go @@ -1,7 +1,9 @@ package faker import ( - "github.com/google/uuid" + "crypto/rand" + "fmt" + "io" ) // UUID is struct for UUID @@ -11,5 +13,9 @@ type UUID struct { // V4 returns UUID V4 as string func (u UUID) V4() string { - return uuid.New().String() + var uuid [16]byte + io.ReadFull(rand.Reader, uuid[:]) + uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 + uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 + return fmt.Sprintf("%x-%x-%x-%x-%x", uuid[0:4], uuid[4:6], uuid[6:8], uuid[8:10], uuid[10:]) } diff --git a/uuid_test.go b/uuid_test.go index ea57bdf..0ddc9ab 100644 --- a/uuid_test.go +++ b/uuid_test.go @@ -4,8 +4,6 @@ import ( "regexp" "testing" - "github.com/stretchr/testify/require" - "github.com/neotoolkit/faker" ) @@ -13,9 +11,12 @@ func TestUUID_v4(t *testing.T) { f := faker.NewFaker() value := f.UUID().V4() match, err := regexp.MatchString("^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", value) - - require.NoError(t, err) - require.True(t, match) + if err != nil { + t.Fatal(err) + } + if !match { + t.Fatal("want true, got false") + } } func TestUUID_V4UniqueInSequence(t *testing.T) { @@ -23,5 +24,7 @@ func TestUUID_V4UniqueInSequence(t *testing.T) { last := f.UUID().V4() current := f.UUID().V4() - require.Equal(t, true, last != current) + if last == current { + t.Fatal("want unique uuid") + } }