Skip to content

Commit

Permalink
Adds FFaker::Number:leading_zero_number
Browse files Browse the repository at this point in the history
  • Loading branch information
professor committed Sep 6, 2023
1 parent da88ae9 commit 7caa363
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions Changelog.md
@@ -1,6 +1,7 @@
## development

- Add your change HERE
- Adds FFaker::Number.leading_zero_number [@professor]
- Update README [@professor]
- Adds FFaker::Number.between [@professor]
- Fixed `FFaker::Number.unique.number(digits: 1)` under Ruby 3 [@simonhildebrandt]
Expand Down
4 changes: 4 additions & 0 deletions lib/ffaker/number.rb
Expand Up @@ -15,6 +15,10 @@ def decimal(whole_digits: 1, fractional_digits: 1)
FFaker.numerify("#{whole_part_pattern}.#{fractional_part_pattern}").to_f
end

def leading_zero_number(digits: 10)
FFaker.numerify("0#{"#" * (digits - 1)}")
end

def between(from: 1.00, to: 5000.00)
fetch_sample(from..to)
end
Expand Down
10 changes: 9 additions & 1 deletion test/test_number.rb
Expand Up @@ -5,7 +5,7 @@
class TestNumber < Test::Unit::TestCase
include DeterministicHelper

assert_methods_are_deterministic(FFaker::Number, :number, :decimal, :between)
assert_methods_are_deterministic(FFaker::Number, :number, :decimal, :between, :leading_zero_number)

def setup
@tester = FFaker::Number
Expand Down Expand Up @@ -43,6 +43,14 @@ def test_decimal_when_invalid_argument
end
end

def test_leading_zero
assert @tester.leading_zero_number.is_a?(String)
assert @tester.leading_zero_number.length == 10
assert @tester.leading_zero_number(digits: 3).length == 3
assert_match(/\A0\d{9}\z/, @tester.leading_zero_number.to_s)
assert_match(/\A0\d{2}\z/, @tester.leading_zero_number(digits: 3).to_s)
end

def test_between
from = -50
to = 50
Expand Down

0 comments on commit 7caa363

Please sign in to comment.