diff --git a/README.md b/README.md index 20a2312..86362fe 100644 --- a/README.md +++ b/README.md @@ -313,6 +313,8 @@ Quick overview of the path syntax available to extract values form the request: - fake.Language - fake.Model - fake.Month + - fake.MonthShort + - fake.MonthNum - fake.Year - fake.Paragraph - fake.Paragraphs diff --git a/pkg/vars/fake/generator.go b/pkg/vars/fake/generator.go index 2d4f1a0..00a9893 100644 --- a/pkg/vars/fake/generator.go +++ b/pkg/vars/fake/generator.go @@ -31,6 +31,7 @@ type Generator interface { Month() string Year() string MonthShort() string + MonthNum() string Paragraph() string Paragraphs() string ParagraphsN(n int) string diff --git a/pkg/vars/fake/provider.go b/pkg/vars/fake/provider.go index edf6d30..4b8f6e9 100644 --- a/pkg/vars/fake/provider.go +++ b/pkg/vars/fake/provider.go @@ -242,6 +242,11 @@ func (p Provider) MonthShort() string { return fake.MonthShort() } +//MonthNum returns a random month (Numeric Version) +func (p Provider) MonthNum() string { + return strconv.Itoa(fake.MonthNum()) +} + //WeekDay returns a random day of week func (p Provider) WeekDay() string { return fake.WeekDay() diff --git a/pkg/vars/fake/provider_test.go b/pkg/vars/fake/provider_test.go index 4521ba3..a196075 100644 --- a/pkg/vars/fake/provider_test.go +++ b/pkg/vars/fake/provider_test.go @@ -98,3 +98,20 @@ func TestHex(t *testing.T) { } } } + +func TestMonthNum(t *testing.T) { + faker := Provider{} + + for i := 1; i < 10000; i++ { + result := faker.MonthNum() + month, err := strconv.ParseInt(result, 10, 64) + + if err != nil { + t.Error("The result should be a valid month number", result) + } + + if month < 0 || month > 12 { + t.Error("The random number should be between 0 and 12", month) + } + } +}