ffakerer 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/Changelog.md +154 -0
- data/Gemfile +2 -0
- data/LICENSE +22 -0
- data/README.md +88 -0
- data/Rakefile +138 -0
- data/ffakerer.gemspec +266 -0
- data/lib/ffakerer.rb +31 -0
- data/lib/ffakerer/address.rb +99 -0
- data/lib/ffakerer/address_au.rb +106 -0
- data/lib/ffakerer/address_ca.rb +28 -0
- data/lib/ffakerer/address_da.rb +56 -0
- data/lib/ffakerer/address_de.rb +42 -0
- data/lib/ffakerer/address_mx.rb +505 -0
- data/lib/ffakerer/address_se.rb +48 -0
- data/lib/ffakerer/address_sn.rb +25 -0
- data/lib/ffakerer/address_uk.rb +27 -0
- data/lib/ffakerer/address_us.rb +30 -0
- data/lib/ffakerer/bacon_ipsum.rb +21 -0
- data/lib/ffakerer/company.rb +45 -0
- data/lib/ffakerer/company_se.rb +24 -0
- data/lib/ffakerer/conference.rb +12 -0
- data/lib/ffakerer/data/address/city_suffixes +19 -0
- data/lib/ffakerer/data/address/country +242 -0
- data/lib/ffakerer/data/address/neighborhood +49 -0
- data/lib/ffakerer/data/address/street_suffix +195 -0
- data/lib/ffakerer/data/address_ca/province +13 -0
- data/lib/ffakerer/data/address_da/city +592 -0
- data/lib/ffakerer/data/address_da/kommune +92 -0
- data/lib/ffakerer/data/address_da/street +657 -0
- data/lib/ffakerer/data/address_de/city +1666 -0
- data/lib/ffakerer/data/address_de/state +15 -0
- data/lib/ffakerer/data/address_mx/state +32 -0
- data/lib/ffakerer/data/address_mx/state_abbr +32 -0
- data/lib/ffakerer/data/address_se/city +154 -0
- data/lib/ffakerer/data/address_se/countries +250 -0
- data/lib/ffakerer/data/address_se/street +2887 -0
- data/lib/ffakerer/data/address_sn/arrondissements +47 -0
- data/lib/ffakerer/data/address_sn/departements +43 -0
- data/lib/ffakerer/data/address_sn/regions +14 -0
- data/lib/ffakerer/data/address_uk/uk_county +70 -0
- data/lib/ffakerer/data/address_us/state +50 -0
- data/lib/ffakerer/data/address_us/state_abbr +51 -0
- data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
- data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
- data/lib/ffakerer/data/company/bs_mid +65 -0
- data/lib/ffakerer/data/company/bs_pos +44 -0
- data/lib/ffakerer/data/company/bs_pre +60 -0
- data/lib/ffakerer/data/company/catch_mid +101 -0
- data/lib/ffakerer/data/company/catch_pos +104 -0
- data/lib/ffakerer/data/company/catch_pre +100 -0
- data/lib/ffakerer/data/company/position_areas +11 -0
- data/lib/ffakerer/data/conference/conference_list +40 -0
- data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
- data/lib/ffakerer/data/education/major_noun +13 -0
- data/lib/ffakerer/data/education/school_suffix +13 -0
- data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
- data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
- data/lib/ffakerer/data/job/job_adj +37 -0
- data/lib/ffakerer/data/job/job_noun +25 -0
- data/lib/ffakerer/data/job/job_prefix +22 -0
- data/lib/ffakerer/data/job_fr/job_nouns +14 -0
- data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
- data/lib/ffakerer/data/lorem/characters +36 -0
- data/lib/ffakerer/data/lorem/words +249 -0
- data/lib/ffakerer/data/lorem_ar/words +911 -0
- data/lib/ffakerer/data/lorem_cn/words +706 -0
- data/lib/ffakerer/data/lorem_fr/words +10379 -0
- data/lib/ffakerer/data/movie/adj_and_adv +20 -0
- data/lib/ffakerer/data/movie/nouns +36 -0
- data/lib/ffakerer/data/movie/prefixes +17 -0
- data/lib/ffakerer/data/name/first_names +3008 -0
- data/lib/ffakerer/data/name/last_names +475 -0
- data/lib/ffakerer/data/name_cn/first_names +1000 -0
- data/lib/ffakerer/data/name_cn/last_names +1057 -0
- data/lib/ffakerer/data/name_cs/prefixes +16 -0
- data/lib/ffakerer/data/name_da/female_first_names +492 -0
- data/lib/ffakerer/data/name_da/last_names +187 -0
- data/lib/ffakerer/data/name_da/male_first_names +390 -0
- data/lib/ffakerer/data/name_de/first_names +1166 -0
- data/lib/ffakerer/data/name_de/last_names +100 -0
- data/lib/ffakerer/data/name_fr/first_names +220 -0
- data/lib/ffakerer/data/name_fr/last_names +408 -0
- data/lib/ffakerer/data/name_ga/first_names_female +225 -0
- data/lib/ffakerer/data/name_ga/first_names_male +306 -0
- data/lib/ffakerer/data/name_ja/first_names +397 -0
- data/lib/ffakerer/data/name_ja/last_names +1078 -0
- data/lib/ffakerer/data/name_kr/first_names +1317 -0
- data/lib/ffakerer/data/name_kr/last_names +197 -0
- data/lib/ffakerer/data/name_mx/female_first_names +216 -0
- data/lib/ffakerer/data/name_mx/last_names +352 -0
- data/lib/ffakerer/data/name_mx/male_first_names +211 -0
- data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
- data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
- data/lib/ffakerer/data/name_se/first_names_female +110 -0
- data/lib/ffakerer/data/name_se/first_names_male +110 -0
- data/lib/ffakerer/data/name_se/last_names +100 -0
- data/lib/ffakerer/data/name_sn/first_names_female +225 -0
- data/lib/ffakerer/data/name_sn/first_names_male +304 -0
- data/lib/ffakerer/data/name_sn/last_names +243 -0
- data/lib/ffakerer/data/name_vn/first_names +6 -0
- data/lib/ffakerer/data/name_vn/last_names +67 -0
- data/lib/ffakerer/data/name_vn/middle_names +89 -0
- data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
- data/lib/ffakerer/data/product/adj +19 -0
- data/lib/ffakerer/data/product/b1 +19 -0
- data/lib/ffakerer/data/product/noun +16 -0
- data/lib/ffakerer/data/skill/specialty_end +14 -0
- data/lib/ffakerer/data/skill/specialty_start +18 -0
- data/lib/ffakerer/data/skill/tech_skills +52 -0
- data/lib/ffakerer/data/venue/venue_list +33 -0
- data/lib/ffakerer/dizzle_ipsum.rb +21 -0
- data/lib/ffakerer/education.rb +48 -0
- data/lib/ffakerer/geolocation.rb +50 -0
- data/lib/ffakerer/healthcare_ipsum.rb +20 -0
- data/lib/ffakerer/hipster_ipsum.rb +21 -0
- data/lib/ffakerer/html_ipsum.rb +160 -0
- data/lib/ffakerer/identification.rb +27 -0
- data/lib/ffakerer/identification_es.rb +15 -0
- data/lib/ffakerer/identification_es_cl.rb +26 -0
- data/lib/ffakerer/identification_es_co.rb +40 -0
- data/lib/ffakerer/internet.rb +72 -0
- data/lib/ffakerer/internet_se.rb +106 -0
- data/lib/ffakerer/job.rb +12 -0
- data/lib/ffakerer/job_fr.rb +14 -0
- data/lib/ffakerer/lorem.rb +44 -0
- data/lib/ffakerer/lorem_ar.rb +40 -0
- data/lib/ffakerer/lorem_cn.rb +41 -0
- data/lib/ffakerer/lorem_fr.rb +39 -0
- data/lib/ffakerer/movie.rb +63 -0
- data/lib/ffakerer/name.rb +35 -0
- data/lib/ffakerer/name_cn.rb +24 -0
- data/lib/ffakerer/name_cs.rb +90 -0
- data/lib/ffakerer/name_da.rb +68 -0
- data/lib/ffakerer/name_de.rb +33 -0
- data/lib/ffakerer/name_fr.rb +37 -0
- data/lib/ffakerer/name_ga.rb +47 -0
- data/lib/ffakerer/name_ja.rb +24 -0
- data/lib/ffakerer/name_kr.rb +24 -0
- data/lib/ffakerer/name_mx.rb +103 -0
- data/lib/ffakerer/name_ph.rb +29 -0
- data/lib/ffakerer/name_ru.rb +92 -0
- data/lib/ffakerer/name_se.rb +47 -0
- data/lib/ffakerer/name_sn.rb +65 -0
- data/lib/ffakerer/name_vn.rb +28 -0
- data/lib/ffakerer/phone_number.rb +34 -0
- data/lib/ffakerer/phone_number_au.rb +77 -0
- data/lib/ffakerer/phone_number_da.rb +45 -0
- data/lib/ffakerer/phone_number_de.rb +51 -0
- data/lib/ffakerer/phone_number_mx.rb +58 -0
- data/lib/ffakerer/phone_number_se.rb +90 -0
- data/lib/ffakerer/phone_number_sg.rb +81 -0
- data/lib/ffakerer/phone_number_sn.rb +78 -0
- data/lib/ffakerer/product.rb +45 -0
- data/lib/ffakerer/skill.rb +24 -0
- data/lib/ffakerer/ssn.rb +17 -0
- data/lib/ffakerer/ssn_se.rb +109 -0
- data/lib/ffakerer/string.rb +92 -0
- data/lib/ffakerer/time.rb +30 -0
- data/lib/ffakerer/unit.rb +50 -0
- data/lib/ffakerer/unit_english.rb +114 -0
- data/lib/ffakerer/unit_metric.rb +105 -0
- data/lib/ffakerer/utils/array_utils.rb +44 -0
- data/lib/ffakerer/utils/module_utils.rb +29 -0
- data/lib/ffakerer/venue.rb +12 -0
- data/scripts/benchmark.rb +21 -0
- data/scripts/profile.sh +2 -0
- data/scripts/profiling.rb +7 -0
- data/test/helper.rb +2 -0
- data/test/test_address.rb +73 -0
- data/test/test_address_au.rb +58 -0
- data/test/test_address_ca.rb +17 -0
- data/test/test_address_de.rb +25 -0
- data/test/test_address_mx.rb +26 -0
- data/test/test_address_se.rb +36 -0
- data/test/test_address_sn.rb +25 -0
- data/test/test_address_uk.rb +17 -0
- data/test/test_address_us.rb +25 -0
- data/test/test_array_utils.rb +52 -0
- data/test/test_bacon_ipsum.rb +30 -0
- data/test/test_company.rb +23 -0
- data/test/test_company_se.rb +14 -0
- data/test/test_conference.rb +10 -0
- data/test/test_dizzle_ipsum.rb +30 -0
- data/test/test_education.rb +34 -0
- data/test/test_faker.rb +30 -0
- data/test/test_faker_internet.rb +60 -0
- data/test/test_faker_internet_se.rb +67 -0
- data/test/test_faker_job.rb +14 -0
- data/test/test_faker_job_fr.rb +22 -0
- data/test/test_faker_name.rb +21 -0
- data/test/test_faker_name_cn.rb +13 -0
- data/test/test_faker_name_cs.rb +65 -0
- data/test/test_faker_name_de.rb +21 -0
- data/test/test_faker_name_fr.rb +48 -0
- data/test/test_faker_name_ga.rb +56 -0
- data/test/test_faker_name_ja.rb +13 -0
- data/test/test_faker_name_kr.rb +13 -0
- data/test/test_faker_name_mx.rb +180 -0
- data/test/test_faker_name_ph.rb +17 -0
- data/test/test_faker_name_ru.rb +80 -0
- data/test/test_faker_name_se.rb +38 -0
- data/test/test_faker_name_sn.rb +98 -0
- data/test/test_geolocation.rb +34 -0
- data/test/test_healthcare_ipsum.rb +27 -0
- data/test/test_hipster_ipsum.rb +29 -0
- data/test/test_html_ipsum.rb +91 -0
- data/test/test_identification.rb +27 -0
- data/test/test_identification_co.rb +38 -0
- data/test/test_identification_es.rb +13 -0
- data/test/test_identification_es_cl.rb +13 -0
- data/test/test_lorem.rb +44 -0
- data/test/test_lorem_ar.rb +37 -0
- data/test/test_lorem_cn.rb +47 -0
- data/test/test_lorem_fr.rb +37 -0
- data/test/test_module_utils.rb +14 -0
- data/test/test_movie.rb +9 -0
- data/test/test_phone_number.rb +13 -0
- data/test/test_phone_number_au.rb +50 -0
- data/test/test_phone_number_de.rb +46 -0
- data/test/test_phone_number_mx.rb +43 -0
- data/test/test_phone_number_se.rb +60 -0
- data/test/test_phone_number_sg.rb +44 -0
- data/test/test_phone_number_sn.rb +34 -0
- data/test/test_skill.rb +24 -0
- data/test/test_ssn.rb +11 -0
- data/test/test_ssn_se.rb +43 -0
- data/test/test_string.rb +71 -0
- data/test/test_time.rb +19 -0
- data/test/test_units.rb +32 -0
- data/test/test_units_english.rb +62 -0
- data/test/test_units_metric.rb +61 -0
- data/test/test_venue.rb +9 -0
- metadata +372 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerNamePH < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::NamePH
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_name
|
|
11
|
+
assert @tester.name.match(/(\w+\.? ?){2,3}/)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_prefix
|
|
15
|
+
assert @tester.prefix.match(/[A-Z][a-z]+\.?/)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerNameRu < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::NameRU
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_name
|
|
11
|
+
@words = @tester.name.split
|
|
12
|
+
assert [2,3].include?(@words.size)
|
|
13
|
+
assert @words.each { |word| word.match /[А-Я][а-я]+/ }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_name_sex
|
|
17
|
+
@words = @tester.name.split
|
|
18
|
+
assert same_sex?(@words)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_uniqueness
|
|
22
|
+
unique_names = (1..10000).map { @tester.name }.uniq.size
|
|
23
|
+
assert unique_names > 9850, "got only #{unique_names} unique names out of 10000"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_last_name
|
|
27
|
+
assert @tester.last_name.match(/[А-Я][а-я]+/)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_male_last_name
|
|
31
|
+
assert Faker::NameRU::LAST_NAMES[:male].include?(@tester.last_name(:male))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_first_name
|
|
35
|
+
assert @tester.first_name.match(/[А-Я][а-я]+/)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_male_first_name
|
|
39
|
+
assert Faker::NameRU::FIRST_NAMES[:male].include?(@tester.first_name(:male))
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_patronymic
|
|
43
|
+
assert @tester.patronymic.match(/[А-Я][а-я]+/)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_male_patronymic
|
|
47
|
+
assert Faker::NameRU::PATRONYMICS[:male].include?(@tester.patronymic(:male))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_with_same_sex
|
|
51
|
+
names = []
|
|
52
|
+
@tester.with_same_sex do
|
|
53
|
+
names << @tester.last_name
|
|
54
|
+
names << @tester.first_name
|
|
55
|
+
names << @tester.patronymic
|
|
56
|
+
end
|
|
57
|
+
assert same_sex?(names)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_with_same_sex_for_male
|
|
61
|
+
names = []
|
|
62
|
+
@tester.with_same_sex(:male) do
|
|
63
|
+
names << @tester.last_name
|
|
64
|
+
names << @tester.first_name
|
|
65
|
+
names << @tester.patronymic
|
|
66
|
+
end
|
|
67
|
+
assert same_sex?(names, :male)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# checks if every name is of the same sex
|
|
71
|
+
def same_sex?(words, sex = :any)
|
|
72
|
+
(sex == :any ? [:male, :female] : [sex]).any? do |sex|
|
|
73
|
+
words.all? do |word|
|
|
74
|
+
[Faker::NameRU::LAST_NAMES, Faker::NameRU::FIRST_NAMES, Faker::NameRU::PATRONYMICS].any? do |names|
|
|
75
|
+
names[sex].include?(word)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerNameSE < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
@tester = Faker::NameSE
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_last_name
|
|
12
|
+
assert Faker::NameSE::LAST_NAMES.include?(@tester.last_name)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_first_name_male
|
|
16
|
+
assert Faker::NameSE::FIRST_NAMES_MALE.include?(@tester.first_name_male)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_first_name_female
|
|
20
|
+
assert Faker::NameSE::FIRST_NAMES_FEMALE.include?(@tester.first_name_female)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_prefix
|
|
24
|
+
assert Faker::NameSE::PREFIXES.include?(@tester.prefix)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_first_name
|
|
28
|
+
parts = @tester.first_name.split(' ')
|
|
29
|
+
assert [1,2].include? parts.count
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_name
|
|
33
|
+
parts = @tester.name.split(' ')
|
|
34
|
+
assert [2, 3, 4].include? parts.count
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
# Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
|
|
6
|
+
class TestFakerNameSn < Test::Unit::TestCase
|
|
7
|
+
|
|
8
|
+
def setup
|
|
9
|
+
@tester = Faker::NameSN
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_last_name
|
|
13
|
+
assert Faker::NameSN::LAST_NAMES.include?(@tester.last_name)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_first_name_male
|
|
17
|
+
assert Faker::NameSN::FIRST_NAMES_MALE.include?(@tester.first_name_male)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_first_name_female
|
|
21
|
+
assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(@tester.first_name_female)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_prefix_male
|
|
25
|
+
assert Faker::NameSN::PREFIX_MALE.include?(@tester.prefix_male)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_prefix_female
|
|
29
|
+
assert Faker::NameSN::PREFIX_FEMALE.include?(@tester.prefix_female)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_name_male
|
|
33
|
+
# => split the name_male into an array of words
|
|
34
|
+
parts = @tester.name_male.split(' ')
|
|
35
|
+
|
|
36
|
+
if parts.count == 3
|
|
37
|
+
# the value at the index 0 should be a valid! male_prefix
|
|
38
|
+
assert Faker::NameSN::PREFIX_MALE.include?(parts[0])
|
|
39
|
+
|
|
40
|
+
# the value at the index 1 should be a valid! male_first_name
|
|
41
|
+
assert Faker::NameSN::FIRST_NAMES_MALE.include?(parts[1])
|
|
42
|
+
|
|
43
|
+
# the value at the index 2 should be a valid! last_name
|
|
44
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[2])
|
|
45
|
+
|
|
46
|
+
elsif parts.count == 2
|
|
47
|
+
# the value at the index 0 should be a valid! male_prefix
|
|
48
|
+
assert Faker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
|
|
49
|
+
|
|
50
|
+
# the value at the index 1 should be a valid! last_name
|
|
51
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[1])
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def test_name_female
|
|
56
|
+
# => split the name_female into an array of words
|
|
57
|
+
parts = @tester.name_female.split(' ')
|
|
58
|
+
|
|
59
|
+
if parts.count == 3
|
|
60
|
+
# the value at the index 0 should be a valid! male_prefix
|
|
61
|
+
assert Faker::NameSN::PREFIX_FEMALE.include?(parts[0])
|
|
62
|
+
|
|
63
|
+
# the value at the index 1 should be a valid! male_first_name
|
|
64
|
+
assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[1])
|
|
65
|
+
|
|
66
|
+
# the value at the index 2 should be a valid! last_name
|
|
67
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[2])
|
|
68
|
+
elsif parts.count == 2
|
|
69
|
+
# the value at the index 0 should be a valid! male_prefix
|
|
70
|
+
assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[0])
|
|
71
|
+
|
|
72
|
+
# the value at the index 1 should be a valid! last_name
|
|
73
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[1])
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def test_senegalese_name
|
|
78
|
+
# => split the name into an array of words
|
|
79
|
+
parts = @tester.name_sn.split(' ')
|
|
80
|
+
|
|
81
|
+
if parts.count == 3
|
|
82
|
+
# the value at the index 0 should be a valid! male or female prefix
|
|
83
|
+
assert Faker::NameSN::PREFIX_FEMALE.include?(parts[0]) || Faker::NameSN::PREFIX_MALE.include?(parts[0])
|
|
84
|
+
|
|
85
|
+
# the value at the index 1 should be a valid! firstname male or female
|
|
86
|
+
assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[1]) || Faker::NameSN::FIRST_NAMES_MALE.include?(parts[1])
|
|
87
|
+
|
|
88
|
+
# the value at the index 2 should be a valid! firstname male or female
|
|
89
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[2])
|
|
90
|
+
elsif parts.count == 2
|
|
91
|
+
# the value at the index 0 should be a valid! firstname male or female
|
|
92
|
+
assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[0]) || Faker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
|
|
93
|
+
|
|
94
|
+
# the value at the index 0 should be a valid! firstname male or female
|
|
95
|
+
assert Faker::NameSN::LAST_NAMES.include?(parts[1])
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestGeolocation < Test::Unit::TestCase
|
|
6
|
+
def test_lat
|
|
7
|
+
assert_match /[0-9]+/, Faker::Geolocation.lat.to_s
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_lng
|
|
11
|
+
assert_match /[0-9]+/, Faker::Geolocation.lng.to_s
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_boxed_coords
|
|
15
|
+
coords_list = [
|
|
16
|
+
[[1,1], [3,3]],
|
|
17
|
+
[[12.3455,23.3434], [34.3434,36.34343]],
|
|
18
|
+
[[12.3455,23.3434], [10.3434,6.34343]]
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
coords_list.each do |coords|
|
|
22
|
+
lat_min = [coords[0][0], coords[1][0]].min
|
|
23
|
+
lat_max = [coords[0][0], coords[1][0]].max
|
|
24
|
+
lon_min = [coords[0][1], coords[1][1]].min
|
|
25
|
+
lon_max = [coords[0][1], coords[1][1]].max
|
|
26
|
+
|
|
27
|
+
new_coords = Faker::Geolocation.boxed_coords(coords[0], coords[1])
|
|
28
|
+
|
|
29
|
+
assert (lat_min..lat_max).include?new_coords[0]
|
|
30
|
+
assert (lon_min..lon_max).include?new_coords[1]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestHealthcareIpsum < Test::Unit::TestCase
|
|
4
|
+
def test_paragraph
|
|
5
|
+
assert_match /1\+|[ a-z]+/i, Faker::HealthcareIpsum.paragraph
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def test_sentence
|
|
9
|
+
assert_match /1\+|[ a-z]+/i, Faker::HealthcareIpsum.sentence
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_paragraphs
|
|
13
|
+
assert_match /1\+|[ a-z]+/i, Faker::HealthcareIpsum.paragraphs.join(" ")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_sentences
|
|
17
|
+
assert_match /1\+|[ a-z]+/i, Faker::HealthcareIpsum.sentences.join(" ")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_words
|
|
21
|
+
assert_match /1\+|[ a-z]+/i, Faker::HealthcareIpsum.words.join(" ")
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_word
|
|
25
|
+
assert_match /1\+|[a-z]+/i, Faker::HealthcareIpsum.word
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestHipsterIpsum < Test::Unit::TestCase
|
|
6
|
+
def test_paragraph
|
|
7
|
+
assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.paragraph
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_sentence
|
|
11
|
+
assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.sentence
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_paragraphs
|
|
15
|
+
assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.paragraphs.join(" ")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_sentences
|
|
19
|
+
assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.sentences.join(" ")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_words
|
|
23
|
+
assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.words.join(" ")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_word
|
|
27
|
+
assert_match /1\+|[a-z]+/i, Faker::HipsterIpsum.word
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestHTMLIpsum < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::HTMLIpsum
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_a
|
|
11
|
+
assert_match /^<a href="#\w+" title="[ \w]+">[ \w]+<\/a>$/i, Faker::HTMLIpsum.a
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_p
|
|
15
|
+
# We can't predict the number of times the sentence pattern will repeat
|
|
16
|
+
# because the Faker::Lorem methods that we are using adds a random
|
|
17
|
+
# number on top of what we specify for the count argument.
|
|
18
|
+
assert_match /^<p>([ \w]+\.)+<\/p>$/i, Faker::HTMLIpsum.p
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_p_breaks
|
|
22
|
+
# Here we can at least test how many <br> tags there are.
|
|
23
|
+
assert_match /^<p>(?:[ \w\.]+<br>){2}[ \w\.]+<\/p>$/i, Faker::HTMLIpsum.p(3, {:include_breaks => true})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_p_fancy
|
|
27
|
+
# We can't predict the number of times the sentence pattern will repeat
|
|
28
|
+
# because the Faker::Lorem methods that we are using adds a random
|
|
29
|
+
# number on top of what we specify for the count argument. We also have to
|
|
30
|
+
# account for the other HTML that is being returned.
|
|
31
|
+
str = Faker::HTMLIpsum.p(5, {:fancy => true})
|
|
32
|
+
assert_match /^<p>/, str
|
|
33
|
+
assert_match /<\/p>$/, str
|
|
34
|
+
assert str.length > 6, "string contains more than <p></p>"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_p_fancy_breaks
|
|
38
|
+
# Here we can at least test how many <br> tags there are. We also have to
|
|
39
|
+
# account for the other HTML that is being returned.
|
|
40
|
+
str = Faker::HTMLIpsum.p(10, {:fancy => true, :include_breaks => true})
|
|
41
|
+
assert_equal 10, str.split("<br>").length
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_dl
|
|
45
|
+
assert_match /^<dl>(<dt>[ \w]+<\/dt><dd>[ \w.]+<\/dd>){3}<\/dl>$/i, Faker::HTMLIpsum.dl(3)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_ul_short
|
|
49
|
+
assert_match /^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, Faker::HTMLIpsum.ul_short(3)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_ul_long
|
|
53
|
+
assert_match /^<ul>(<li>[ \w.]+<\/li>){3}<\/ul>$/i, Faker::HTMLIpsum.ul_long(3)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_ol_short
|
|
57
|
+
assert_match /^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, Faker::HTMLIpsum.ol_short(3)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_ol_long
|
|
61
|
+
assert_match /^<ol>(<li>[ \w.]+<\/li>){3}<\/ol>$/i, Faker::HTMLIpsum.ol_long(3)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_ul_links
|
|
65
|
+
assert_match /^<ul>(<li><a href="#\w+" title="\w+">[ \w]+<\/a><\/li>){3}<\/ul>$/i, Faker::HTMLIpsum.ul_links(3)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_table
|
|
69
|
+
assert_match /(<td>[ \w]+<\/td>\s*){3}/i, Faker::HTMLIpsum.table(3)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_body
|
|
73
|
+
# We can't reliably predict what's going to end up inside, so just ensure
|
|
74
|
+
# that we have a complete string.
|
|
75
|
+
assert_match /^<h1>.+<\/pre>$/im, Faker::HTMLIpsum.body
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_fancy_string
|
|
79
|
+
# We can't reliably predict what's going to end up inside, so just ensure
|
|
80
|
+
# that we have a complete string.
|
|
81
|
+
assert Faker::HTMLIpsum.fancy_string.is_a?(String), "returns a string"
|
|
82
|
+
assert Faker::HTMLIpsum.fancy_string.length > 1, "the string is longer than one char"
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def test_fancy_string_breaks
|
|
86
|
+
# We can't reliably predict what's going to end up inside, so just ensure
|
|
87
|
+
# that we have a complete string.
|
|
88
|
+
str = Faker::HTMLIpsum.fancy_string(3, true)
|
|
89
|
+
assert_equal 3, str.split("<br>").length
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'helper'
|
|
4
|
+
|
|
5
|
+
class TestFakerIdentification < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
@tester = Faker::Identification
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_drivers_license
|
|
11
|
+
###-###-##-###-#
|
|
12
|
+
assert_match /[A-Z]\d{3}-\d{3}-\d{2}-\d{3}-\d{1}/, @tester.drivers_license
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_ssn
|
|
16
|
+
assert_match /\d{3}-\d{2}-\d{4}/, @tester.ssn
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_gender
|
|
20
|
+
assert_match /(Male|Female)/, @tester.gender
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_ethnicity
|
|
24
|
+
ethnicity_regex = /(African American|Asian\/Pacific Islander|Caucasian|Hispanic|Native American|Multiracial|Other|Prefer not to respond)/
|
|
25
|
+
assert_match ethnicity_regex, @tester.ethnicity
|
|
26
|
+
end
|
|
27
|
+
end
|