From bb0842a3f741049b429902e1d5baac558b535bdc Mon Sep 17 00:00:00 2001 From: Todd Sedano Date: Thu, 31 Aug 2023 09:13:55 -0700 Subject: [PATCH] Adds FFaker::Number:leading_zero --- Changelog.md | 1 + lib/ffaker/number.rb | 4 ++++ test/test_number.rb | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/Changelog.md b/Changelog.md index cabe0d03..0713af5b 100644 --- a/Changelog.md +++ b/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] diff --git a/lib/ffaker/number.rb b/lib/ffaker/number.rb index 0ec84dae..764201a4 100644 --- a/lib/ffaker/number.rb +++ b/lib/ffaker/number.rb @@ -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) + "0#{FFaker::Number.number(digits: digits -1)}" + end + def between(from: 1.00, to: 5000.00) fetch_sample(from..to) end diff --git a/test/test_number.rb b/test/test_number.rb index 592c3f5d..091a16e9 100644 --- a/test/test_number.rb +++ b/test/test_number.rb @@ -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.digits.count == 10 + assert @tester.leading_zero_number(digits: 3).digits.count == 3 + assert_match(/0\d/, @tester.leading_zero_number.to_s) + assert_match(/0\d{3}/, @tester.leading_zero_number(digits: 3).to_s) + end + def test_between from = -50 to = 50