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.
Files changed (234) hide show
  1. checksums.yaml +15 -0
  2. data/Changelog.md +154 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +22 -0
  5. data/README.md +88 -0
  6. data/Rakefile +138 -0
  7. data/ffakerer.gemspec +266 -0
  8. data/lib/ffakerer.rb +31 -0
  9. data/lib/ffakerer/address.rb +99 -0
  10. data/lib/ffakerer/address_au.rb +106 -0
  11. data/lib/ffakerer/address_ca.rb +28 -0
  12. data/lib/ffakerer/address_da.rb +56 -0
  13. data/lib/ffakerer/address_de.rb +42 -0
  14. data/lib/ffakerer/address_mx.rb +505 -0
  15. data/lib/ffakerer/address_se.rb +48 -0
  16. data/lib/ffakerer/address_sn.rb +25 -0
  17. data/lib/ffakerer/address_uk.rb +27 -0
  18. data/lib/ffakerer/address_us.rb +30 -0
  19. data/lib/ffakerer/bacon_ipsum.rb +21 -0
  20. data/lib/ffakerer/company.rb +45 -0
  21. data/lib/ffakerer/company_se.rb +24 -0
  22. data/lib/ffakerer/conference.rb +12 -0
  23. data/lib/ffakerer/data/address/city_suffixes +19 -0
  24. data/lib/ffakerer/data/address/country +242 -0
  25. data/lib/ffakerer/data/address/neighborhood +49 -0
  26. data/lib/ffakerer/data/address/street_suffix +195 -0
  27. data/lib/ffakerer/data/address_ca/province +13 -0
  28. data/lib/ffakerer/data/address_da/city +592 -0
  29. data/lib/ffakerer/data/address_da/kommune +92 -0
  30. data/lib/ffakerer/data/address_da/street +657 -0
  31. data/lib/ffakerer/data/address_de/city +1666 -0
  32. data/lib/ffakerer/data/address_de/state +15 -0
  33. data/lib/ffakerer/data/address_mx/state +32 -0
  34. data/lib/ffakerer/data/address_mx/state_abbr +32 -0
  35. data/lib/ffakerer/data/address_se/city +154 -0
  36. data/lib/ffakerer/data/address_se/countries +250 -0
  37. data/lib/ffakerer/data/address_se/street +2887 -0
  38. data/lib/ffakerer/data/address_sn/arrondissements +47 -0
  39. data/lib/ffakerer/data/address_sn/departements +43 -0
  40. data/lib/ffakerer/data/address_sn/regions +14 -0
  41. data/lib/ffakerer/data/address_uk/uk_county +70 -0
  42. data/lib/ffakerer/data/address_us/state +50 -0
  43. data/lib/ffakerer/data/address_us/state_abbr +51 -0
  44. data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
  45. data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
  46. data/lib/ffakerer/data/company/bs_mid +65 -0
  47. data/lib/ffakerer/data/company/bs_pos +44 -0
  48. data/lib/ffakerer/data/company/bs_pre +60 -0
  49. data/lib/ffakerer/data/company/catch_mid +101 -0
  50. data/lib/ffakerer/data/company/catch_pos +104 -0
  51. data/lib/ffakerer/data/company/catch_pre +100 -0
  52. data/lib/ffakerer/data/company/position_areas +11 -0
  53. data/lib/ffakerer/data/conference/conference_list +40 -0
  54. data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
  55. data/lib/ffakerer/data/education/major_noun +13 -0
  56. data/lib/ffakerer/data/education/school_suffix +13 -0
  57. data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
  58. data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
  59. data/lib/ffakerer/data/job/job_adj +37 -0
  60. data/lib/ffakerer/data/job/job_noun +25 -0
  61. data/lib/ffakerer/data/job/job_prefix +22 -0
  62. data/lib/ffakerer/data/job_fr/job_nouns +14 -0
  63. data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
  64. data/lib/ffakerer/data/lorem/characters +36 -0
  65. data/lib/ffakerer/data/lorem/words +249 -0
  66. data/lib/ffakerer/data/lorem_ar/words +911 -0
  67. data/lib/ffakerer/data/lorem_cn/words +706 -0
  68. data/lib/ffakerer/data/lorem_fr/words +10379 -0
  69. data/lib/ffakerer/data/movie/adj_and_adv +20 -0
  70. data/lib/ffakerer/data/movie/nouns +36 -0
  71. data/lib/ffakerer/data/movie/prefixes +17 -0
  72. data/lib/ffakerer/data/name/first_names +3008 -0
  73. data/lib/ffakerer/data/name/last_names +475 -0
  74. data/lib/ffakerer/data/name_cn/first_names +1000 -0
  75. data/lib/ffakerer/data/name_cn/last_names +1057 -0
  76. data/lib/ffakerer/data/name_cs/prefixes +16 -0
  77. data/lib/ffakerer/data/name_da/female_first_names +492 -0
  78. data/lib/ffakerer/data/name_da/last_names +187 -0
  79. data/lib/ffakerer/data/name_da/male_first_names +390 -0
  80. data/lib/ffakerer/data/name_de/first_names +1166 -0
  81. data/lib/ffakerer/data/name_de/last_names +100 -0
  82. data/lib/ffakerer/data/name_fr/first_names +220 -0
  83. data/lib/ffakerer/data/name_fr/last_names +408 -0
  84. data/lib/ffakerer/data/name_ga/first_names_female +225 -0
  85. data/lib/ffakerer/data/name_ga/first_names_male +306 -0
  86. data/lib/ffakerer/data/name_ja/first_names +397 -0
  87. data/lib/ffakerer/data/name_ja/last_names +1078 -0
  88. data/lib/ffakerer/data/name_kr/first_names +1317 -0
  89. data/lib/ffakerer/data/name_kr/last_names +197 -0
  90. data/lib/ffakerer/data/name_mx/female_first_names +216 -0
  91. data/lib/ffakerer/data/name_mx/last_names +352 -0
  92. data/lib/ffakerer/data/name_mx/male_first_names +211 -0
  93. data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
  94. data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
  95. data/lib/ffakerer/data/name_se/first_names_female +110 -0
  96. data/lib/ffakerer/data/name_se/first_names_male +110 -0
  97. data/lib/ffakerer/data/name_se/last_names +100 -0
  98. data/lib/ffakerer/data/name_sn/first_names_female +225 -0
  99. data/lib/ffakerer/data/name_sn/first_names_male +304 -0
  100. data/lib/ffakerer/data/name_sn/last_names +243 -0
  101. data/lib/ffakerer/data/name_vn/first_names +6 -0
  102. data/lib/ffakerer/data/name_vn/last_names +67 -0
  103. data/lib/ffakerer/data/name_vn/middle_names +89 -0
  104. data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
  105. data/lib/ffakerer/data/product/adj +19 -0
  106. data/lib/ffakerer/data/product/b1 +19 -0
  107. data/lib/ffakerer/data/product/noun +16 -0
  108. data/lib/ffakerer/data/skill/specialty_end +14 -0
  109. data/lib/ffakerer/data/skill/specialty_start +18 -0
  110. data/lib/ffakerer/data/skill/tech_skills +52 -0
  111. data/lib/ffakerer/data/venue/venue_list +33 -0
  112. data/lib/ffakerer/dizzle_ipsum.rb +21 -0
  113. data/lib/ffakerer/education.rb +48 -0
  114. data/lib/ffakerer/geolocation.rb +50 -0
  115. data/lib/ffakerer/healthcare_ipsum.rb +20 -0
  116. data/lib/ffakerer/hipster_ipsum.rb +21 -0
  117. data/lib/ffakerer/html_ipsum.rb +160 -0
  118. data/lib/ffakerer/identification.rb +27 -0
  119. data/lib/ffakerer/identification_es.rb +15 -0
  120. data/lib/ffakerer/identification_es_cl.rb +26 -0
  121. data/lib/ffakerer/identification_es_co.rb +40 -0
  122. data/lib/ffakerer/internet.rb +72 -0
  123. data/lib/ffakerer/internet_se.rb +106 -0
  124. data/lib/ffakerer/job.rb +12 -0
  125. data/lib/ffakerer/job_fr.rb +14 -0
  126. data/lib/ffakerer/lorem.rb +44 -0
  127. data/lib/ffakerer/lorem_ar.rb +40 -0
  128. data/lib/ffakerer/lorem_cn.rb +41 -0
  129. data/lib/ffakerer/lorem_fr.rb +39 -0
  130. data/lib/ffakerer/movie.rb +63 -0
  131. data/lib/ffakerer/name.rb +35 -0
  132. data/lib/ffakerer/name_cn.rb +24 -0
  133. data/lib/ffakerer/name_cs.rb +90 -0
  134. data/lib/ffakerer/name_da.rb +68 -0
  135. data/lib/ffakerer/name_de.rb +33 -0
  136. data/lib/ffakerer/name_fr.rb +37 -0
  137. data/lib/ffakerer/name_ga.rb +47 -0
  138. data/lib/ffakerer/name_ja.rb +24 -0
  139. data/lib/ffakerer/name_kr.rb +24 -0
  140. data/lib/ffakerer/name_mx.rb +103 -0
  141. data/lib/ffakerer/name_ph.rb +29 -0
  142. data/lib/ffakerer/name_ru.rb +92 -0
  143. data/lib/ffakerer/name_se.rb +47 -0
  144. data/lib/ffakerer/name_sn.rb +65 -0
  145. data/lib/ffakerer/name_vn.rb +28 -0
  146. data/lib/ffakerer/phone_number.rb +34 -0
  147. data/lib/ffakerer/phone_number_au.rb +77 -0
  148. data/lib/ffakerer/phone_number_da.rb +45 -0
  149. data/lib/ffakerer/phone_number_de.rb +51 -0
  150. data/lib/ffakerer/phone_number_mx.rb +58 -0
  151. data/lib/ffakerer/phone_number_se.rb +90 -0
  152. data/lib/ffakerer/phone_number_sg.rb +81 -0
  153. data/lib/ffakerer/phone_number_sn.rb +78 -0
  154. data/lib/ffakerer/product.rb +45 -0
  155. data/lib/ffakerer/skill.rb +24 -0
  156. data/lib/ffakerer/ssn.rb +17 -0
  157. data/lib/ffakerer/ssn_se.rb +109 -0
  158. data/lib/ffakerer/string.rb +92 -0
  159. data/lib/ffakerer/time.rb +30 -0
  160. data/lib/ffakerer/unit.rb +50 -0
  161. data/lib/ffakerer/unit_english.rb +114 -0
  162. data/lib/ffakerer/unit_metric.rb +105 -0
  163. data/lib/ffakerer/utils/array_utils.rb +44 -0
  164. data/lib/ffakerer/utils/module_utils.rb +29 -0
  165. data/lib/ffakerer/venue.rb +12 -0
  166. data/scripts/benchmark.rb +21 -0
  167. data/scripts/profile.sh +2 -0
  168. data/scripts/profiling.rb +7 -0
  169. data/test/helper.rb +2 -0
  170. data/test/test_address.rb +73 -0
  171. data/test/test_address_au.rb +58 -0
  172. data/test/test_address_ca.rb +17 -0
  173. data/test/test_address_de.rb +25 -0
  174. data/test/test_address_mx.rb +26 -0
  175. data/test/test_address_se.rb +36 -0
  176. data/test/test_address_sn.rb +25 -0
  177. data/test/test_address_uk.rb +17 -0
  178. data/test/test_address_us.rb +25 -0
  179. data/test/test_array_utils.rb +52 -0
  180. data/test/test_bacon_ipsum.rb +30 -0
  181. data/test/test_company.rb +23 -0
  182. data/test/test_company_se.rb +14 -0
  183. data/test/test_conference.rb +10 -0
  184. data/test/test_dizzle_ipsum.rb +30 -0
  185. data/test/test_education.rb +34 -0
  186. data/test/test_faker.rb +30 -0
  187. data/test/test_faker_internet.rb +60 -0
  188. data/test/test_faker_internet_se.rb +67 -0
  189. data/test/test_faker_job.rb +14 -0
  190. data/test/test_faker_job_fr.rb +22 -0
  191. data/test/test_faker_name.rb +21 -0
  192. data/test/test_faker_name_cn.rb +13 -0
  193. data/test/test_faker_name_cs.rb +65 -0
  194. data/test/test_faker_name_de.rb +21 -0
  195. data/test/test_faker_name_fr.rb +48 -0
  196. data/test/test_faker_name_ga.rb +56 -0
  197. data/test/test_faker_name_ja.rb +13 -0
  198. data/test/test_faker_name_kr.rb +13 -0
  199. data/test/test_faker_name_mx.rb +180 -0
  200. data/test/test_faker_name_ph.rb +17 -0
  201. data/test/test_faker_name_ru.rb +80 -0
  202. data/test/test_faker_name_se.rb +38 -0
  203. data/test/test_faker_name_sn.rb +98 -0
  204. data/test/test_geolocation.rb +34 -0
  205. data/test/test_healthcare_ipsum.rb +27 -0
  206. data/test/test_hipster_ipsum.rb +29 -0
  207. data/test/test_html_ipsum.rb +91 -0
  208. data/test/test_identification.rb +27 -0
  209. data/test/test_identification_co.rb +38 -0
  210. data/test/test_identification_es.rb +13 -0
  211. data/test/test_identification_es_cl.rb +13 -0
  212. data/test/test_lorem.rb +44 -0
  213. data/test/test_lorem_ar.rb +37 -0
  214. data/test/test_lorem_cn.rb +47 -0
  215. data/test/test_lorem_fr.rb +37 -0
  216. data/test/test_module_utils.rb +14 -0
  217. data/test/test_movie.rb +9 -0
  218. data/test/test_phone_number.rb +13 -0
  219. data/test/test_phone_number_au.rb +50 -0
  220. data/test/test_phone_number_de.rb +46 -0
  221. data/test/test_phone_number_mx.rb +43 -0
  222. data/test/test_phone_number_se.rb +60 -0
  223. data/test/test_phone_number_sg.rb +44 -0
  224. data/test/test_phone_number_sn.rb +34 -0
  225. data/test/test_skill.rb +24 -0
  226. data/test/test_ssn.rb +11 -0
  227. data/test/test_ssn_se.rb +43 -0
  228. data/test/test_string.rb +71 -0
  229. data/test/test_time.rb +19 -0
  230. data/test/test_units.rb +32 -0
  231. data/test/test_units_english.rb +62 -0
  232. data/test/test_units_metric.rb +61 -0
  233. data/test/test_venue.rb +9 -0
  234. metadata +372 -0
@@ -0,0 +1,22 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerJobFr < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::JobFR
8
+ end
9
+
10
+ def test_title
11
+ assert @tester.title.match(/(\w+\.? ?){2,3}/)
12
+ end
13
+
14
+
15
+ def test_prefix
16
+ assert @tester::JOB_PREFIXES.is_a?(Array)
17
+ assert @tester::JOB_ADJECTIVES.is_a?(Array)
18
+ assert @tester::JOB_NOUNS.is_a?(Array)
19
+ end
20
+ end
21
+
22
+
@@ -0,0 +1,21 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerName < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::Name
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
+
18
+ def test_suffix
19
+ assert @tester.suffix.match(/[A-Z][a-z]*\.?/)
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameCN < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::NameCN
8
+ end
9
+
10
+ def test_name
11
+ assert Faker::NameCN.name.length > 2
12
+ end
13
+ end
@@ -0,0 +1,65 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameCS < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::NameCS
8
+ end
9
+
10
+ def test_name
11
+ @words = @tester.name.split
12
+ assert [2,3,4].include?(@words.size) # just name, or prefix, or prefix+suffix
13
+ end
14
+
15
+ def test_name_sex
16
+ @words = @tester.name.split
17
+ @words = @words[1..2] if @words.size > 2
18
+ assert same_sex?(@words)
19
+ end
20
+
21
+ def test_male_last_name
22
+ assert Faker::NameCS::LAST_NAMES[:male].include?(@tester.last_name(:male))
23
+ end
24
+
25
+ def test_male_first_name
26
+ assert Faker::NameCS::FIRST_NAMES[:male].include?(@tester.first_name(:male))
27
+ end
28
+
29
+ def test_prefix
30
+ assert Faker::NameCS::PREFIXES.include?(@tester.prefix)
31
+ end
32
+
33
+ def test_suffix
34
+ assert Faker::NameCS::SUFFIXES.include?(@tester.suffix)
35
+ end
36
+
37
+ def test_with_same_sex
38
+ names = []
39
+ @tester.with_same_sex do
40
+ names << @tester.last_name
41
+ names << @tester.first_name
42
+ end
43
+ assert same_sex?(names)
44
+ end
45
+
46
+ def test_with_same_sex_for_male
47
+ names = []
48
+ @tester.with_same_sex(:male) do
49
+ names << @tester.last_name
50
+ names << @tester.first_name
51
+ end
52
+ assert same_sex?(names, :male)
53
+ end
54
+
55
+ # checks if every name is of the same sex
56
+ def same_sex?(words, sex = :any)
57
+ (sex == :any ? [:male, :female] : [sex]).any? do |sex|
58
+ words.all? do |word|
59
+ [Faker::NameCS::LAST_NAMES, Faker::NameCS::FIRST_NAMES].any? do |names|
60
+ names[sex].include?(word)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameDE < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::NameDE
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
+
18
+ def test_suffix
19
+ assert @tester.suffix.match(/[A-Z][a-z]*\.?/)
20
+ end
21
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ # Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
6
+ class TestFakerNameFR < Test::Unit::TestCase
7
+
8
+ def setup
9
+ @tester = Faker::NameFR
10
+ end
11
+
12
+ def test_last_name
13
+ assert Faker::NameFR::LAST_NAMES.include?(@tester.last_name)
14
+ end
15
+
16
+ def test_first_name
17
+ assert Faker::NameFR::FIRST_NAMES.include?(@tester.first_name)
18
+ end
19
+
20
+ def test_prefix
21
+ assert Faker::NameFR::PREFIX.include?(@tester.prefix)
22
+ end
23
+
24
+
25
+ def test_name
26
+ # => split the name into an array of words
27
+ parts = @tester.name.split(' ')
28
+
29
+ if parts.count == 3
30
+ # the value at the index 1 should be a valid! prefix
31
+ assert Faker::NameFR::PREFIX.include?(parts[1])
32
+
33
+ # the value at the index 0 should be a valid! male_first_name
34
+ assert Faker::NameFR::FIRST_NAMES.include?(parts[0])
35
+
36
+ # the value at the index 2 should be a valid! last_name
37
+ assert Faker::NameFR::LAST_NAMES.include?(parts[2])
38
+
39
+ elsif parts.count == 2
40
+ # the value at the index 0 should be a valid! prefix
41
+ assert Faker::NameFR::FIRST_NAMES.include?(parts[0])
42
+
43
+ # the value at the index 1 should be a valid! last_name
44
+ assert Faker::NameFR::LAST_NAMES.include?(parts[1])
45
+ end
46
+ end
47
+
48
+ end
@@ -0,0 +1,56 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameGa < Test::Unit::TestCase
6
+
7
+ def setup
8
+ @tester = Faker::NameGA
9
+ end
10
+
11
+ def test_last_name
12
+ assert Faker::NameGA::LAST_NAMES.include?(@tester.last_name)
13
+ end
14
+
15
+ def test_first_name_male
16
+ assert Faker::NameGA::FIRST_NAMES_MALE.include?(@tester.first_name_male)
17
+ end
18
+
19
+ def test_first_name_female
20
+ assert Faker::NameGA::FIRST_NAMES_FEMALE.include?(@tester.first_name_female)
21
+ end
22
+
23
+ def test_name_male
24
+ # => split the name_male into an array of words
25
+ parts = @tester.name_male.split(' ')
26
+
27
+ # the value at the index 0 should be a valid! male_prefix
28
+ assert Faker::NameGA::FIRST_NAMES_MALE.include?(parts[0])
29
+
30
+ # the value at the index 1 should be a valid! last_name
31
+ assert Faker::NameGA::LAST_NAMES.include?(parts[1])
32
+ end
33
+
34
+ def test_name_female
35
+ # => split the name_male into an array of words
36
+ parts = @tester.name_female.split(' ')
37
+
38
+ # the value at the index 0 should be a valid! male_prefix
39
+ assert Faker::NameGA::FIRST_NAMES_FEMALE.include?(parts[0])
40
+
41
+ # the value at the index 1 should be a valid! last_name
42
+ assert Faker::NameGA::LAST_NAMES.include?(parts[1])
43
+ end
44
+
45
+
46
+ def test_name
47
+ # => split the name_male into an array of words
48
+ parts = @tester.name.split(' ')
49
+
50
+ # the value at the index 0 should be a valid! male_prefix
51
+ assert Faker::NameGA::FIRST_NAMES_FEMALE.include?(parts[0]) || Faker::NameGA::FIRST_NAMES_MALE.include?(parts[0])
52
+
53
+ # the value at the index 1 should be a valid! last_name
54
+ assert Faker::NameGA::LAST_NAMES.include?(parts[1])
55
+ end
56
+ end
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameJA < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::NameJA
8
+ end
9
+
10
+ def test_name
11
+ assert Faker::NameJA.name.length > 2
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameKR < Test::Unit::TestCase
6
+ def setup
7
+ @tester = Faker::NameKR
8
+ end
9
+
10
+ def test_name
11
+ assert Faker::NameKR.name.length > 2
12
+ end
13
+ end
@@ -0,0 +1,180 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ # Author: guapolo github.com/guapolo
6
+ class TestFakerNameMX < Test::Unit::TestCase
7
+
8
+ def setup
9
+ @tester = Faker::NameMX
10
+ @all_names = Faker::NameMX::MALE_FIRST_NAMES + Faker::NameMX::FEMALE_FIRST_NAMES
11
+ end
12
+
13
+ def test_last_name
14
+ assert Faker::NameMX::LAST_NAMES.include?(@tester.last_name)
15
+ end
16
+
17
+ def test_first_name
18
+ assert @all_names.include?(@tester.first_name)
19
+ end
20
+
21
+ def test_middle_name
22
+ assert @all_names.include?(@tester.middle_name)
23
+ end
24
+
25
+ def test_name
26
+ assert @all_names.include?(@tester.name)
27
+ end
28
+
29
+ def test_prefix_male
30
+ assert Faker::NameMX::MALE_PREFIXES.include?(@tester.male_prefix)
31
+ end
32
+
33
+ def test_prefix_female
34
+ assert Faker::NameMX::FEMALE_PREFIXES.include?(@tester.female_prefix)
35
+ end
36
+
37
+ def test_prefix
38
+ assert Faker::NameMX::PREFIXES.include?(@tester.prefix)
39
+ end
40
+
41
+ def test_male_name
42
+ parts = @tester.male_name.split(' ')
43
+ case parts.count
44
+ when 1 then assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[0])
45
+ when 2 then assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[0]) &&
46
+ Faker::NameMX::MALE_FIRST_NAMES.include?(parts[1])
47
+ end
48
+ end
49
+
50
+ def test_female_name
51
+ parts = @tester.female_name.split(' ')
52
+ case parts.count
53
+ when 1 then assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[0])
54
+ when 2 then assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[0]) &&
55
+ Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[1])
56
+ end
57
+ end
58
+
59
+ def test_full_name_male
60
+ parts = @tester.full_name(:male).split(' ')
61
+ case parts.count
62
+ when 5
63
+ assert Faker::NameMX::MALE_PREFIXES.include?(parts[0])
64
+ assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[1])
65
+ # Middle name
66
+ assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[2])
67
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
68
+ assert Faker::NameMX::LAST_NAMES.include?(parts[4])
69
+ when 4
70
+ prefix_or_first_name = Faker::NameMX::MALE_PREFIXES.include?(parts[0]) ||
71
+ Faker::NameMX::MALE_FIRST_NAMES.include?(parts[0])
72
+ assert prefix_or_first_name
73
+ assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[1])
74
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
75
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
76
+ when 3
77
+ assert Faker::NameMX::MALE_FIRST_NAMES.include?(parts[0])
78
+ assert Faker::NameMX::LAST_NAMES.include?(parts[1])
79
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
80
+ else
81
+ flunk "Invalid Male Name"
82
+ end
83
+ end
84
+
85
+ def test_full_name_female
86
+ parts = @tester.full_name(:female).split(' ')
87
+ case parts.count
88
+ when 5
89
+ assert Faker::NameMX::FEMALE_PREFIXES.include?(parts[0])
90
+ assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[1])
91
+ # Middle name
92
+ assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[2])
93
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
94
+ assert Faker::NameMX::LAST_NAMES.include?(parts[4])
95
+ when 4
96
+ prefix_or_first_name = Faker::NameMX::FEMALE_PREFIXES.include?(parts[0]) ||
97
+ Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[0])
98
+ assert prefix_or_first_name
99
+ assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[1])
100
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
101
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
102
+ when 3
103
+ assert Faker::NameMX::FEMALE_FIRST_NAMES.include?(parts[0])
104
+ assert Faker::NameMX::LAST_NAMES.include?(parts[1])
105
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
106
+ else
107
+ flunk "Invalid Female Name"
108
+ end
109
+ end
110
+
111
+ def test_full_name
112
+ parts = @tester.full_name.split(' ')
113
+ case parts.count
114
+ when 5
115
+ assert Faker::NameMX::PREFIXES.include?(parts[0])
116
+ assert @all_names.include?(parts[1])
117
+ # Middle name
118
+ assert @all_names.include?(parts[2])
119
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
120
+ assert Faker::NameMX::LAST_NAMES.include?(parts[4])
121
+ when 4
122
+ prefix_or_first_name = Faker::NameMX::PREFIXES.include?(parts[0]) ||
123
+ @all_names.include?(parts[0])
124
+ assert prefix_or_first_name
125
+ assert @all_names.include?(parts[1])
126
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
127
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
128
+ when 3
129
+ assert @all_names.include?(parts[0])
130
+ assert Faker::NameMX::LAST_NAMES.include?(parts[1])
131
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
132
+ else
133
+ flunk "Invalid Name"
134
+ end
135
+ end
136
+
137
+ def test_full_name_no_prefix
138
+ parts = @tester.full_name_no_prefix.split(' ')
139
+ case parts.count
140
+ when 4
141
+ assert @all_names.include?(parts[0])
142
+ assert @all_names.include?(parts[1])
143
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
144
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
145
+ when 3
146
+ assert @all_names.include?(parts[0])
147
+ assert Faker::NameMX::LAST_NAMES.include?(parts[1])
148
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
149
+ else
150
+ flunk "Invalid Name"
151
+ end
152
+ end
153
+
154
+ def test_full_name_prefix
155
+ parts = @tester.full_name_prefix.split(' ')
156
+ case parts.count
157
+ when 5
158
+ assert Faker::NameMX::PREFIXES.include?(parts[0])
159
+ assert @all_names.include?(parts[1])
160
+ # Middle name
161
+ assert @all_names.include?(parts[2])
162
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
163
+ assert Faker::NameMX::LAST_NAMES.include?(parts[4])
164
+ when 4
165
+ prefix_or_first_name = Faker::NameMX::PREFIXES.include?(parts[0]) ||
166
+ @all_names.include?(parts[0])
167
+ assert prefix_or_first_name
168
+ assert @all_names.include?(parts[1])
169
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
170
+ assert Faker::NameMX::LAST_NAMES.include?(parts[3])
171
+ when 3
172
+ assert @all_names.include?(parts[0])
173
+ assert Faker::NameMX::LAST_NAMES.include?(parts[1])
174
+ assert Faker::NameMX::LAST_NAMES.include?(parts[2])
175
+ else
176
+ flunk "Invalid Name"
177
+ end
178
+ end
179
+
180
+ end