ffaker 2.16.0 → 2.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +32 -0
- data/README.md +6 -4
- data/REFERENCE.md +1484 -1257
- data/Rakefile +3 -3
- data/ffaker.gemspec +4 -7
- data/lib/ffaker/address_au.rb +1 -1
- data/lib/ffaker/address_br.rb +1 -1
- data/lib/ffaker/address_ca.rb +1 -1
- data/lib/ffaker/address_ch.rb +0 -2
- data/lib/ffaker/address_ch_de.rb +0 -2
- data/lib/ffaker/address_ch_fr.rb +0 -2
- data/lib/ffaker/address_ch_it.rb +0 -2
- data/lib/ffaker/address_da.rb +0 -2
- data/lib/ffaker/address_de.rb +0 -2
- data/lib/ffaker/address_fi.rb +0 -2
- data/lib/ffaker/address_fr.rb +0 -2
- data/lib/ffaker/address_gr.rb +0 -2
- data/lib/ffaker/address_id.rb +0 -2
- data/lib/ffaker/address_in.rb +0 -2
- data/lib/ffaker/address_it.rb +37 -0
- data/lib/ffaker/address_ja.rb +0 -2
- data/lib/ffaker/address_mx.rb +2 -8
- data/lib/ffaker/address_nl.rb +0 -2
- data/lib/ffaker/address_ru.rb +0 -2
- data/lib/ffaker/address_se.rb +0 -2
- data/lib/ffaker/address_sn.rb +0 -2
- data/lib/ffaker/address_ua.rb +0 -2
- data/lib/ffaker/address_uk.rb +0 -2
- data/lib/ffaker/address_us.rb +0 -2
- data/lib/ffaker/animal.rb +1 -1
- data/lib/ffaker/bacon_ipsum.rb +0 -2
- data/lib/ffaker/company_fr.rb +35 -0
- data/lib/ffaker/{courses.rb → courses_fr.rb} +2 -0
- data/lib/ffaker/data/address_br/city +0 -1
- data/lib/ffaker/data/address_br/state +1 -1
- data/lib/ffaker/data/address_it/city +111 -0
- data/lib/ffaker/data/address_it/region +20 -0
- data/lib/ffaker/data/filesystem/extension +31 -31
- data/lib/ffaker/data/food_pl/diary +14 -0
- data/lib/ffaker/data/food_pl/fermented +13 -0
- data/lib/ffaker/data/food_pl/fruits +34 -0
- data/lib/ffaker/data/food_pl/herbs +20 -0
- data/lib/ffaker/data/food_pl/meats +9 -0
- data/lib/ffaker/data/food_pl/preserves +10 -0
- data/lib/ffaker/data/food_pl/spices +26 -0
- data/lib/ffaker/data/food_pl/vegetables +45 -0
- data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
- data/lib/ffaker/data/game/adj_and_adv +18 -0
- data/lib/ffaker/data/game/category +84 -0
- data/lib/ffaker/data/game/mechanic +182 -0
- data/lib/ffaker/data/game/nouns +37 -0
- data/lib/ffaker/data/game/prefixes +17 -0
- data/lib/ffaker/data/job_it/job_adj +37 -0
- data/lib/ffaker/data/job_it/job_noun +25 -0
- data/lib/ffaker/data/job_it/job_prefix +22 -0
- data/lib/ffaker/data/lorem/words +0 -67
- data/lib/ffaker/data/lorem_br/characters +36 -0
- data/lib/ffaker/data/lorem_br/words +183 -0
- data/lib/ffaker/data/lorem_it/words +321 -0
- data/lib/ffaker/data/name/pronouns +1 -1
- data/lib/ffaker/data/name_ga/first_names_male +286 -286
- data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
- data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
- data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
- data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
- data/lib/ffaker/data/sport_ru/summer +68 -0
- data/lib/ffaker/data/sport_ru/winter +20 -0
- data/lib/ffaker/dizzle_ipsum.rb +0 -2
- data/lib/ffaker/filesystem.rb +7 -7
- data/lib/ffaker/food_pl.rb +65 -0
- data/lib/ffaker/freedom_ipsum.rb +20 -0
- data/lib/ffaker/game.rb +33 -0
- data/lib/ffaker/gender_it.rb +17 -0
- data/lib/ffaker/gender_ru.rb +22 -0
- data/lib/ffaker/healthcare_ipsum.rb +0 -2
- data/lib/ffaker/hipster_ipsum.rb +0 -2
- data/lib/ffaker/identification_es_cl.rb +0 -2
- data/lib/ffaker/identification_es_co.rb +0 -1
- data/lib/ffaker/identification_it.rb +30 -0
- data/lib/ffaker/identification_kr.rb +1 -1
- data/lib/ffaker/identification_mx.rb +1 -3
- data/lib/ffaker/image.rb +8 -11
- data/lib/ffaker/internet.rb +1 -1
- data/lib/ffaker/internet_se.rb +1 -3
- data/lib/ffaker/job_it.rb +12 -0
- data/lib/ffaker/lorem_br.rb +45 -0
- data/lib/ffaker/lorem_cn.rb +0 -1
- data/lib/ffaker/lorem_it.rb +39 -0
- data/lib/ffaker/name_cs.rb +0 -2
- data/lib/ffaker/name_da.rb +0 -2
- data/lib/ffaker/name_de.rb +0 -2
- data/lib/ffaker/name_mx.rb +0 -2
- data/lib/ffaker/name_nb.rb +0 -2
- data/lib/ffaker/name_nl.rb +0 -2
- data/lib/ffaker/name_ph.rb +0 -2
- data/lib/ffaker/name_ru.rb +0 -2
- data/lib/ffaker/name_se.rb +0 -2
- data/lib/ffaker/name_th_en.rb +1 -1
- data/lib/ffaker/name_ua.rb +0 -2
- data/lib/ffaker/number.rb +26 -0
- data/lib/ffaker/phone_number_br.rb +2 -2
- data/lib/ffaker/phone_number_da.rb +0 -1
- data/lib/ffaker/phone_number_it.rb +8 -6
- data/lib/ffaker/phone_number_ja.rb +88 -0
- data/lib/ffaker/sport_ru.rb +25 -0
- data/lib/ffaker/ssn.rb +1 -3
- data/lib/ffaker/ssn_se.rb +0 -19
- data/lib/ffaker/string.rb +4 -4
- data/lib/ffaker/unit.rb +9 -10
- data/lib/ffaker/unit_english.rb +18 -21
- data/lib/ffaker/unit_metric.rb +15 -18
- data/lib/ffaker/utils/array_utils.rb +1 -1
- data/lib/ffaker/utils/module_utils.rb +23 -3
- data/lib/ffaker/vehicle.rb +1 -1
- data/lib/ffaker.rb +19 -4
- data/lib/version.rb +1 -1
- data/scripts/profiling.rb +1 -1
- data/scripts/reference.rb +2 -3
- data/test/helper.rb +4 -4
- data/test/test_address.rb +1 -1
- data/test/test_address_au.rb +3 -3
- data/test/test_address_br.rb +2 -2
- data/test/test_address_ca.rb +1 -1
- data/test/test_address_ch.rb +1 -1
- data/test/test_address_ch_de.rb +1 -1
- data/test/test_address_ch_fr.rb +1 -1
- data/test/test_address_ch_it.rb +1 -1
- data/test/test_address_da.rb +1 -1
- data/test/test_address_de.rb +1 -1
- data/test/test_address_fi.rb +3 -3
- data/test/test_address_fr.rb +1 -1
- data/test/test_address_gr.rb +1 -1
- data/test/test_address_id.rb +2 -2
- data/test/test_address_in.rb +1 -1
- data/test/test_address_it.rb +12 -0
- data/test/test_address_ja.rb +2 -2
- data/test/test_address_kr.rb +1 -1
- data/test/test_address_mx.rb +1 -1
- data/test/test_address_nl.rb +1 -1
- data/test/test_address_pl.rb +1 -1
- data/test/test_address_ru.rb +1 -1
- data/test/test_address_se.rb +3 -3
- data/test/test_address_sn.rb +1 -1
- data/test/test_address_ua.rb +1 -1
- data/test/test_address_uk.rb +1 -1
- data/test/test_address_us.rb +1 -1
- data/test/test_airline.rb +1 -1
- data/test/test_animal.rb +1 -1
- data/test/test_animal_cn.rb +1 -1
- data/test/test_animal_es.rb +1 -1
- data/test/test_animal_pl.rb +1 -1
- data/test/test_animal_us.rb +1 -1
- data/test/test_array_utils.rb +2 -1
- data/test/test_avatar.rb +1 -1
- data/test/test_aws.rb +2 -2
- data/test/test_bacon_ipsum.rb +1 -1
- data/test/test_bank.rb +3 -4
- data/test/test_book.rb +5 -5
- data/test/test_boolean.rb +1 -1
- data/test/test_cheesy_lingo.rb +1 -1
- data/test/test_code.rb +1 -1
- data/test/test_color.rb +1 -1
- data/test/test_color_pl.rb +1 -1
- data/test/test_color_ua.rb +1 -1
- data/test/test_company.rb +1 -1
- data/test/test_company_cn.rb +1 -1
- data/test/test_company_fr.rb +33 -0
- data/test/test_company_it.rb +1 -1
- data/test/test_company_ja.rb +1 -1
- data/test/test_company_se.rb +1 -1
- data/test/test_conference.rb +1 -1
- data/test/test_course_mathematiques.rb +1 -1
- data/test/test_course_philosophie.rb +1 -1
- data/test/test_currency.rb +1 -1
- data/test/test_dizzle_ipsum.rb +1 -1
- data/test/test_education.rb +1 -1
- data/test/test_education_cn.rb +1 -1
- data/test/{test_faker.rb → test_ffaker.rb} +6 -2
- data/test/test_filesystem.rb +12 -4
- data/test/test_food.rb +1 -1
- data/test/test_food_pl.rb +61 -0
- data/test/test_freedom_ipsum.rb +21 -0
- data/test/test_game.rb +28 -0
- data/test/test_gender.rb +2 -2
- data/test/test_gender_br.rb +1 -1
- data/test/test_gender_cn.rb +1 -1
- data/test/test_gender_id.rb +1 -1
- data/test/test_gender_it.rb +27 -0
- data/test/test_gender_ja.rb +1 -1
- data/test/test_gender_jp.rb +1 -1
- data/test/test_gender_kr.rb +1 -1
- data/test/test_gender_pl.rb +1 -1
- data/test/test_gender_ru.rb +23 -0
- data/test/test_geolocation.rb +1 -1
- data/test/test_guid.rb +1 -1
- data/test/test_healthcare_ipsum.rb +1 -1
- data/test/test_healthcare_ru.rb +2 -2
- data/test/test_hipster_ipsum.rb +1 -1
- data/test/test_html_ipsum.rb +2 -2
- data/test/test_identification.rb +1 -1
- data/test/test_identification_br.rb +1 -1
- data/test/test_identification_co.rb +2 -2
- data/test/test_identification_es.rb +1 -1
- data/test/test_identification_es_cl.rb +2 -2
- data/test/test_identification_es_mx.rb +1 -1
- data/test/test_identification_in.rb +1 -1
- data/test/test_identification_it.rb +34 -0
- data/test/test_identification_kr.rb +1 -1
- data/test/test_identification_tw.rb +1 -1
- data/test/test_image.rb +5 -5
- data/test/test_internet.rb +1 -1
- data/test/test_internet_se.rb +2 -2
- data/test/test_job.rb +1 -1
- data/test/test_job_br.rb +1 -1
- data/test/test_job_cn.rb +1 -1
- data/test/test_job_fr.rb +1 -1
- data/test/test_job_it.rb +17 -0
- data/test/test_job_ja.rb +1 -1
- data/test/test_job_kr.rb +1 -1
- data/test/test_job_vn.rb +1 -1
- data/test/test_locale.rb +1 -1
- data/test/test_lorem.rb +5 -1
- data/test/test_lorem_ar.rb +1 -1
- data/test/test_lorem_br.rb +62 -0
- data/test/test_lorem_cn.rb +1 -1
- data/test/test_lorem_fr.rb +10 -8
- data/test/test_lorem_ie.rb +1 -1
- data/test/test_lorem_it.rb +51 -0
- data/test/test_lorem_ja.rb +1 -1
- data/test/test_lorem_kr.rb +1 -1
- data/test/test_lorem_pl.rb +2 -2
- data/test/test_lorem_ru.rb +2 -2
- data/test/test_lorem_ua.rb +2 -2
- data/test/test_module_utils.rb +1 -1
- data/test/test_movie.rb +1 -1
- data/test/test_music.rb +5 -5
- data/test/test_name.rb +1 -1
- data/test/test_name_ar.rb +1 -1
- data/test/test_name_br.rb +1 -1
- data/test/test_name_cn.rb +1 -1
- data/test/test_name_cs.rb +1 -1
- data/test/test_name_da.rb +1 -1
- data/test/test_name_de.rb +1 -1
- data/test/test_name_es.rb +1 -1
- data/test/test_name_fr.rb +1 -1
- data/test/test_name_ga.rb +1 -1
- data/test/test_name_gr.rb +1 -1
- data/test/test_name_id.rb +1 -1
- data/test/test_name_it.rb +1 -1
- data/test/test_name_ja.rb +1 -1
- data/test/test_name_kh.rb +1 -1
- data/test/test_name_kr.rb +1 -1
- data/test/test_name_mx.rb +1 -1
- data/test/test_name_nb.rb +1 -1
- data/test/test_name_nl.rb +1 -1
- data/test/test_name_ph.rb +1 -1
- data/test/test_name_pl.rb +1 -1
- data/test/test_name_ru.rb +1 -1
- data/test/test_name_se.rb +1 -1
- data/test/test_name_sn.rb +1 -1
- data/test/test_name_th.rb +1 -1
- data/test/test_name_th_en.rb +1 -1
- data/test/test_name_tw.rb +1 -1
- data/test/test_name_ua.rb +1 -1
- data/test/test_name_vn.rb +1 -1
- data/test/test_nato_alphabet.rb +1 -1
- data/test/test_number.rb +45 -0
- data/test/test_phone_number.rb +1 -1
- data/test/test_phone_number_au.rb +1 -1
- data/test/test_phone_number_br.rb +1 -1
- data/test/test_phone_number_cu.rb +1 -1
- data/test/test_phone_number_da.rb +1 -1
- data/test/test_phone_number_de.rb +1 -1
- data/test/test_phone_number_fr.rb +1 -1
- data/test/test_phone_number_id.rb +1 -1
- data/test/test_phone_number_it.rb +12 -0
- data/test/test_phone_number_ja.rb +63 -0
- data/test/test_phone_number_kr.rb +1 -1
- data/test/test_phone_number_mx.rb +1 -1
- data/test/test_phone_number_nl.rb +1 -1
- data/test/test_phone_number_pl.rb +1 -1
- data/test/test_phone_number_se.rb +1 -1
- data/test/test_phone_number_sg.rb +1 -1
- data/test/test_phone_number_sn.rb +1 -1
- data/test/test_phone_number_tw.rb +1 -1
- data/test/test_phone_number_ua.rb +1 -1
- data/test/test_products.rb +1 -1
- data/test/test_sem_ver.rb +1 -1
- data/test/test_skill.rb +1 -1
- data/test/test_sport_pl.rb +1 -1
- data/test/test_sport_ru.rb +30 -0
- data/test/test_sport_us.rb +1 -1
- data/test/test_sports.rb +1 -1
- data/test/test_ssn.rb +1 -1
- data/test/test_ssn_mx.rb +1 -1
- data/test/test_ssn_se.rb +2 -2
- data/test/test_string.rb +4 -4
- data/test/test_time.rb +3 -4
- data/test/test_tweet.rb +5 -5
- data/test/test_unique_utils.rb +1 -1
- data/test/test_units.rb +2 -1
- data/test/test_units_english.rb +1 -1
- data/test/test_units_metric.rb +1 -1
- data/test/test_vehicle.rb +3 -3
- data/test/test_venue.rb +1 -1
- data/test/test_youtube.rb +1 -1
- metadata +232 -160
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'helper'
|
4
|
+
|
5
|
+
class TestLoremIT < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::LoremIT,
|
10
|
+
:paragraph, :sentence, :phrase, :paragraphs, :sentences, :phrases, :words, :word
|
11
|
+
)
|
12
|
+
|
13
|
+
def test_paragraph
|
14
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.paragraph)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_sentence
|
18
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.sentence)
|
19
|
+
assert_nothing_thrown do
|
20
|
+
100.times { FFaker::LoremIT.sentence 0 }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_phrase
|
25
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.phrase)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_paragraphs
|
29
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.paragraphs.join(' '))
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_sentences
|
33
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.sentences.join(' '))
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_phrases
|
37
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.phrases.join(' '))
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_words
|
41
|
+
assert_match(/[ a-z]+/, FFaker::LoremIT.words.join(' '))
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_word
|
45
|
+
assert_match(/[a-z]+/, FFaker::LoremIT.word)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_word_collection_uniqueness
|
49
|
+
assert_equal(FFaker::LoremIT::WORDS, FFaker::LoremIT::WORDS.uniq)
|
50
|
+
end
|
51
|
+
end
|
data/test/test_lorem_ja.rb
CHANGED
data/test/test_lorem_kr.rb
CHANGED
data/test/test_lorem_pl.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative 'helper'
|
4
4
|
|
5
5
|
class TestFakerLoremPL < Test::Unit::TestCase
|
6
6
|
include DeterministicHelper
|
7
7
|
|
8
8
|
POLISH_WORD_MATCHER = /\A[A-Ża-ż\s]+\z/.freeze
|
9
|
-
POLISH_SENTENCE_MATCHER = /\A[A-Ża-ż\s
|
9
|
+
POLISH_SENTENCE_MATCHER = /\A[A-Ża-ż\s.!?,]+\z/.freeze
|
10
10
|
|
11
11
|
assert_methods_are_deterministic(
|
12
12
|
FFaker::LoremPL,
|
data/test/test_lorem_ru.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative 'helper'
|
4
4
|
|
5
5
|
class TestLoremRU < Test::Unit::TestCase
|
6
6
|
include DeterministicHelper
|
7
7
|
|
8
|
-
SENTENCE_MATCHER = /\A[а-яА-ЯёЁ\-\s
|
8
|
+
SENTENCE_MATCHER = /\A[а-яА-ЯёЁ\-\s.!?,]+\z/.freeze
|
9
9
|
WORDS_MATCHER = /\A[А-Яа-яёЁ\-\s]+\z/.freeze
|
10
10
|
WORD_MATCHER = /\A[А-Яа-яёЁ\-]+\z/.freeze
|
11
11
|
|
data/test/test_lorem_ua.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative 'helper'
|
4
4
|
|
5
5
|
class TestLoremUA < Test::Unit::TestCase
|
6
6
|
include DeterministicHelper
|
7
7
|
|
8
|
-
SENTENCE_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s
|
8
|
+
SENTENCE_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s.!?,]+\z/.freeze
|
9
9
|
WORDS_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/.freeze
|
10
10
|
WORD_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/.freeze
|
11
11
|
|
data/test/test_module_utils.rb
CHANGED
data/test/test_movie.rb
CHANGED
data/test/test_music.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative 'helper'
|
4
4
|
|
5
5
|
class TestMusic < Test::Unit::TestCase
|
6
6
|
include DeterministicHelper
|
@@ -11,18 +11,18 @@ class TestMusic < Test::Unit::TestCase
|
|
11
11
|
)
|
12
12
|
|
13
13
|
def test_genre
|
14
|
-
assert_match(%r{[A-z]|\W
|
14
|
+
assert_match(%r{[A-z]|\W|&/+}, FFaker::Music.genre)
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_album
|
18
|
-
assert_match(/\s|[A-z]|\W|\d
|
18
|
+
assert_match(/\s|[A-z]|\W|\d|'|\?+/, FFaker::Music.album)
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_artist
|
22
|
-
assert_match(/\s|[A-z]|\W|\d
|
22
|
+
assert_match(/\s|[A-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.artist)
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_song
|
26
|
-
assert_match(/\s|[A-z]|\W|\d
|
26
|
+
assert_match(/\s|[A-z]|\W|\d|'|\?|&|\+|\.|-+/, FFaker::Music.song)
|
27
27
|
end
|
28
28
|
end
|
data/test/test_name.rb
CHANGED
data/test/test_name_ar.rb
CHANGED
data/test/test_name_br.rb
CHANGED
data/test/test_name_cn.rb
CHANGED
data/test/test_name_cs.rb
CHANGED
data/test/test_name_da.rb
CHANGED
data/test/test_name_de.rb
CHANGED
data/test/test_name_es.rb
CHANGED
data/test/test_name_fr.rb
CHANGED
data/test/test_name_ga.rb
CHANGED
data/test/test_name_gr.rb
CHANGED
data/test/test_name_id.rb
CHANGED
data/test/test_name_it.rb
CHANGED
data/test/test_name_ja.rb
CHANGED
data/test/test_name_kh.rb
CHANGED
data/test/test_name_kr.rb
CHANGED
data/test/test_name_mx.rb
CHANGED
data/test/test_name_nb.rb
CHANGED
data/test/test_name_nl.rb
CHANGED
data/test/test_name_ph.rb
CHANGED
data/test/test_name_pl.rb
CHANGED
data/test/test_name_ru.rb
CHANGED
data/test/test_name_se.rb
CHANGED
data/test/test_name_sn.rb
CHANGED
data/test/test_name_th.rb
CHANGED
data/test/test_name_th_en.rb
CHANGED
data/test/test_name_tw.rb
CHANGED
data/test/test_name_ua.rb
CHANGED
data/test/test_name_vn.rb
CHANGED
data/test/test_nato_alphabet.rb
CHANGED
data/test/test_number.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'helper'
|
4
|
+
|
5
|
+
class TestNumber < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(FFaker::Number, :number, :decimal)
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@tester = FFaker::Number
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_number
|
15
|
+
assert @tester.number.is_a?(Integer)
|
16
|
+
assert @tester.number.digits.count == 1
|
17
|
+
assert @tester.number(digits: 3).digits.count == 3
|
18
|
+
assert_match(/\d/, @tester.number.to_s)
|
19
|
+
assert_match(/\d{3}/, @tester.number(digits: 3).to_s)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_number_when_invalid_argument
|
23
|
+
assert_raise(ArgumentError.new('Digits cannot be less than 1')) { @tester.number(digits: 0) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_decimal
|
27
|
+
assert @tester.decimal.is_a?(Float)
|
28
|
+
|
29
|
+
whole_digits = rand(2..5)
|
30
|
+
fractional_digits = rand(2..5)
|
31
|
+
decimal = @tester.decimal(whole_digits: whole_digits, fractional_digits: fractional_digits)
|
32
|
+
assert decimal.to_s.split('.').first.size == whole_digits
|
33
|
+
assert decimal.to_s.split('.').last.size == fractional_digits
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_decimal_when_invalid_argument
|
37
|
+
assert_raise(ArgumentError.new('Digits cannot be less than 1')) do
|
38
|
+
@tester.decimal(whole_digits: 0)
|
39
|
+
end
|
40
|
+
|
41
|
+
assert_raise(ArgumentError.new('Digits cannot be less than 1')) do
|
42
|
+
@tester.decimal(fractional_digits: 0)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/test/test_phone_number.rb
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'helper'
|
4
|
+
|
5
|
+
class TestPhoneNumberIT < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::PhoneNumberIT,
|
10
|
+
:phone_number, :home_phone_number, :mobile_phone_number
|
11
|
+
)
|
12
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'helper'
|
4
|
+
|
5
|
+
class TestPhoneNumberJA < Test::Unit::TestCase
|
6
|
+
include DeterministicHelper
|
7
|
+
|
8
|
+
assert_methods_are_deterministic(
|
9
|
+
FFaker::PhoneNumberJA,
|
10
|
+
:phone_number, :home_phone_number, :mobile_phone_number,
|
11
|
+
:international_mobile_phone_number, :international_home_phone_number, :international_phone_number,
|
12
|
+
:mobile_prefix, :home_phone_prefix
|
13
|
+
)
|
14
|
+
|
15
|
+
def setup
|
16
|
+
@tester = FFaker::PhoneNumberJA
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_phone_number
|
20
|
+
assert_match(/\A0\d{1,4} \d{1,4} \d{4}\z/, @tester.phone_number)
|
21
|
+
assert_include([12, 13], @tester.phone_number.length)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_home_phone_number
|
25
|
+
assert_match(/\A0\d{1,4} \d{1,4} \d{4}\z/, @tester.home_phone_number)
|
26
|
+
assert_equal(@tester.home_phone_number.length, 12)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_mobile_phone_number
|
30
|
+
assert_match(/\A0(90|80|70) \d{4} \d{4}\z/, @tester.mobile_phone_number)
|
31
|
+
assert_equal(@tester.mobile_phone_number.length, 13)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_international_phone_number
|
35
|
+
assert_match(/\A\+81 \d{1,4} \d{1,4} \d{4}\z/, @tester.international_phone_number)
|
36
|
+
assert_include([15, 16], @tester.international_phone_number.length)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_international_home_phone_number
|
40
|
+
assert_match(/\A\+81 \d{1,4} \d{1,4} \d{4}\z/, @tester.international_home_phone_number)
|
41
|
+
assert_equal(@tester.international_home_phone_number.length, 15)
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_international_mobile_phone_number
|
45
|
+
assert_match(/\A\+81 (90|80|70) \d{4} \d{4}\z/, @tester.international_mobile_phone_number)
|
46
|
+
assert_equal(@tester.international_mobile_phone_number.length, 16)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_mobile_prefix
|
50
|
+
assert_include(@tester::MOBILE_PHONE_PREFIXES, @tester.mobile_prefix)
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_home_phone_prefix
|
54
|
+
disit = rand(1..4)
|
55
|
+
assert_include(
|
56
|
+
@tester::ONE_DISIT_AREA_CODES +
|
57
|
+
@tester::TWO_DISIT_AREA_CODES +
|
58
|
+
@tester::THREE_DISIT_AREA_CODES +
|
59
|
+
@tester::FOUR_DISIT_AREA_CODES,
|
60
|
+
@tester.home_phone_prefix(disit)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|