ffaker 2.2.0 → 2.3.0

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 (320) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +34 -0
  3. data/README.md +4 -0
  4. data/REFERENCE.md +1153 -800
  5. data/Rakefile +23 -24
  6. data/ffaker.gemspec +12 -420
  7. data/lib/ffaker.rb +47 -7
  8. data/lib/ffaker/address.rb +11 -11
  9. data/lib/ffaker/address_au.rb +60 -60
  10. data/lib/ffaker/address_br.rb +5 -5
  11. data/lib/ffaker/address_ca.rb +7 -7
  12. data/lib/ffaker/address_ch.rb +1 -2
  13. data/lib/ffaker/address_ch_de.rb +1 -1
  14. data/lib/ffaker/address_ch_fr.rb +1 -1
  15. data/lib/ffaker/address_ch_it.rb +1 -1
  16. data/lib/ffaker/address_da.rb +5 -5
  17. data/lib/ffaker/address_de.rb +16 -12
  18. data/lib/ffaker/address_fi.rb +7 -8
  19. data/lib/ffaker/address_fr.rb +13 -13
  20. data/lib/ffaker/address_gr.rb +40 -0
  21. data/lib/ffaker/address_in.rb +12 -12
  22. data/lib/ffaker/address_kr.rb +87 -0
  23. data/lib/ffaker/address_mx.rb +409 -409
  24. data/lib/ffaker/address_nl.rb +17 -13
  25. data/lib/ffaker/address_ru.rb +6 -6
  26. data/lib/ffaker/address_se.rb +7 -8
  27. data/lib/ffaker/address_sn.rb +3 -3
  28. data/lib/ffaker/address_ua.rb +8 -8
  29. data/lib/ffaker/address_uk.rb +5 -5
  30. data/lib/ffaker/address_us.rb +9 -9
  31. data/lib/ffaker/airline.rb +16 -0
  32. data/lib/ffaker/avatar.rb +3 -3
  33. data/lib/ffaker/aws.rb +24 -0
  34. data/lib/ffaker/bacon_ipsum.rb +2 -2
  35. data/lib/ffaker/book.rb +45 -0
  36. data/lib/ffaker/boolean.rb +2 -2
  37. data/lib/ffaker/cheesy_lingo.rb +15 -12
  38. data/lib/ffaker/color.rb +54 -1
  39. data/lib/ffaker/color_ua.rb +1 -1
  40. data/lib/ffaker/company.rb +13 -11
  41. data/lib/ffaker/company_cn.rb +23 -0
  42. data/lib/ffaker/company_it.rb +4 -4
  43. data/lib/ffaker/company_se.rb +2 -2
  44. data/lib/ffaker/conference.rb +1 -1
  45. data/lib/ffaker/courses.rb +2 -3
  46. data/lib/ffaker/currency.rb +2 -2
  47. data/lib/ffaker/data/address_gr/city +79 -0
  48. data/lib/ffaker/data/address_gr/region +13 -0
  49. data/lib/ffaker/data/address_gr/street +100 -0
  50. data/lib/ffaker/data/address_kr/boroughs +29 -0
  51. data/lib/ffaker/data/address_kr/cities +51 -0
  52. data/lib/ffaker/data/airline/codes_list +209 -0
  53. data/lib/ffaker/data/airline/names_list +206 -0
  54. data/lib/ffaker/data/aws/ec2_instance_type +59 -0
  55. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
  56. data/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
  57. data/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
  58. data/lib/ffaker/data/book/adj_and_adv +20 -0
  59. data/lib/ffaker/data/book/genres +369 -0
  60. data/lib/ffaker/data/book/nouns +36 -0
  61. data/lib/ffaker/data/book/prefixes +17 -0
  62. data/lib/ffaker/data/color/names_list +128 -0
  63. data/lib/ffaker/data/education/degree_prefix +274 -0
  64. data/lib/ffaker/data/education/degree_short_prefix +19 -0
  65. data/lib/ffaker/data/job_br/job_nouns +52 -0
  66. data/lib/ffaker/data/job_vn/job_nouns +191 -0
  67. data/lib/ffaker/data/lorem_ja/characters +101 -0
  68. data/lib/ffaker/data/lorem_ja/sentences +30 -0
  69. data/lib/ffaker/data/lorem_ja/sentences_end +21 -0
  70. data/lib/ffaker/data/lorem_ja/words +81 -0
  71. data/lib/ffaker/data/name/first_names_female +4275 -0
  72. data/lib/ffaker/data/name/first_names_male +1219 -0
  73. data/lib/ffaker/data/name_br/first_names_female +1068 -0
  74. data/lib/ffaker/data/name_br/first_names_male +607 -0
  75. data/lib/ffaker/data/name_br/last_names +52 -0
  76. data/lib/ffaker/data/name_gr/female_first_names +80 -0
  77. data/lib/ffaker/data/name_gr/female_last_names +45 -0
  78. data/lib/ffaker/data/name_gr/male_first_names +90 -0
  79. data/lib/ffaker/data/name_gr/male_last_names +57 -0
  80. data/lib/ffaker/data/name_kh/first_names +64 -0
  81. data/lib/ffaker/data/name_kh/last_names +71 -0
  82. data/lib/ffaker/data/name_kh/nick_names +30 -0
  83. data/lib/ffaker/data/name_then/first_names +292 -0
  84. data/lib/ffaker/data/name_then/last_names +63 -0
  85. data/lib/ffaker/data/name_then/nick_names +30 -0
  86. data/lib/ffaker/data/phone_number/phone_calling_code +205 -0
  87. data/lib/ffaker/data/sport/names +57 -24
  88. data/lib/ffaker/data/tweet/hashtag +58 -0
  89. data/lib/ffaker/data/youtube/video_ids +50 -0
  90. data/lib/ffaker/dizzle_ipsum.rb +2 -2
  91. data/lib/ffaker/education.rb +17 -16
  92. data/lib/ffaker/food.rb +5 -6
  93. data/lib/ffaker/gender.rb +4 -4
  94. data/lib/ffaker/gender_br.rb +17 -0
  95. data/lib/ffaker/gender_cn.rb +4 -4
  96. data/lib/ffaker/gender_kr.rb +4 -4
  97. data/lib/ffaker/geolocation.rb +26 -26
  98. data/lib/ffaker/healthcare_ipsum.rb +2 -2
  99. data/lib/ffaker/hipster_ipsum.rb +2 -2
  100. data/lib/ffaker/html_ipsum.rb +101 -81
  101. data/lib/ffaker/identification.rb +4 -4
  102. data/lib/ffaker/identification_br.rb +84 -0
  103. data/lib/ffaker/identification_es.rb +2 -2
  104. data/lib/ffaker/identification_es_cl.rb +7 -5
  105. data/lib/ffaker/identification_es_co.rb +9 -10
  106. data/lib/ffaker/identification_kr.rb +3 -4
  107. data/lib/ffaker/identification_mx.rb +27 -11
  108. data/lib/ffaker/internet.rb +26 -23
  109. data/lib/ffaker/internet_se.rb +21 -21
  110. data/lib/ffaker/job.rb +1 -1
  111. data/lib/ffaker/job_br.rb +12 -0
  112. data/lib/ffaker/job_cn.rb +1 -1
  113. data/lib/ffaker/job_fr.rb +3 -3
  114. data/lib/ffaker/job_ja.rb +2 -1
  115. data/lib/ffaker/job_kr.rb +1 -1
  116. data/lib/ffaker/job_vn.rb +13 -0
  117. data/lib/ffaker/locale.rb +2 -3
  118. data/lib/ffaker/lorem.rb +5 -5
  119. data/lib/ffaker/lorem_ar.rb +4 -4
  120. data/lib/ffaker/lorem_cn.rb +3 -3
  121. data/lib/ffaker/lorem_fr.rb +4 -4
  122. data/lib/ffaker/lorem_ja.rb +40 -0
  123. data/lib/ffaker/lorem_kr.rb +4 -4
  124. data/lib/ffaker/lorem_ua.rb +8 -11
  125. data/lib/ffaker/movie.rb +18 -20
  126. data/lib/ffaker/music.rb +4 -4
  127. data/lib/ffaker/name.rb +100 -11
  128. data/lib/ffaker/name_br.rb +37 -6
  129. data/lib/ffaker/name_cn.rb +2 -2
  130. data/lib/ffaker/name_cs.rb +10 -10
  131. data/lib/ffaker/name_da.rb +6 -6
  132. data/lib/ffaker/name_de.rb +5 -5
  133. data/lib/ffaker/name_fr.rb +4 -4
  134. data/lib/ffaker/name_ga.rb +4 -5
  135. data/lib/ffaker/name_gr.rb +60 -0
  136. data/lib/ffaker/name_it.rb +4 -4
  137. data/lib/ffaker/name_ja.rb +3 -3
  138. data/lib/ffaker/name_kh.rb +22 -0
  139. data/lib/ffaker/name_kr.rb +3 -3
  140. data/lib/ffaker/name_mx.rb +14 -14
  141. data/lib/ffaker/name_nb.rb +5 -5
  142. data/lib/ffaker/name_nl.rb +7 -7
  143. data/lib/ffaker/name_ph.rb +2 -2
  144. data/lib/ffaker/name_ru.rb +7 -8
  145. data/lib/ffaker/name_se.rb +5 -5
  146. data/lib/ffaker/name_sn.rb +23 -23
  147. data/lib/ffaker/name_th.rb +3 -3
  148. data/lib/ffaker/name_th_en.rb +26 -0
  149. data/lib/ffaker/name_ua.rb +8 -8
  150. data/lib/ffaker/name_vn.rb +4 -4
  151. data/lib/ffaker/nato_alphabet.rb +10 -10
  152. data/lib/ffaker/phone_number.rb +31 -21
  153. data/lib/ffaker/phone_number_au.rb +3 -3
  154. data/lib/ffaker/phone_number_br.rb +9 -8
  155. data/lib/ffaker/phone_number_ch.rb +7 -7
  156. data/lib/ffaker/phone_number_cu.rb +5 -5
  157. data/lib/ffaker/phone_number_de.rb +1 -1
  158. data/lib/ffaker/phone_number_fr.rb +4 -4
  159. data/lib/ffaker/phone_number_it.rb +2 -2
  160. data/lib/ffaker/phone_number_kr.rb +4 -4
  161. data/lib/ffaker/phone_number_mx.rb +4 -5
  162. data/lib/ffaker/phone_number_nl.rb +13 -13
  163. data/lib/ffaker/phone_number_se.rb +18 -19
  164. data/lib/ffaker/phone_number_sg.rb +8 -8
  165. data/lib/ffaker/phone_number_sn.rb +2 -2
  166. data/lib/ffaker/product.rb +18 -14
  167. data/lib/ffaker/skill.rb +3 -3
  168. data/lib/ffaker/sport.rb +1 -1
  169. data/lib/ffaker/ssn_se.rb +19 -20
  170. data/lib/ffaker/string.rb +21 -23
  171. data/lib/ffaker/time.rb +19 -7
  172. data/lib/ffaker/tweet.rb +59 -0
  173. data/lib/ffaker/unit.rb +12 -12
  174. data/lib/ffaker/unit_english.rb +34 -35
  175. data/lib/ffaker/unit_metric.rb +25 -25
  176. data/lib/ffaker/utils/array_utils.rb +12 -9
  177. data/lib/ffaker/utils/module_utils.rb +9 -6
  178. data/lib/ffaker/utils/random_utils.rb +33 -0
  179. data/lib/ffaker/vehicle.rb +21 -21
  180. data/lib/ffaker/venue.rb +1 -1
  181. data/lib/ffaker/youtube.rb +24 -0
  182. data/scripts/benchmark.rb +3 -3
  183. data/scripts/reference.rb +26 -23
  184. data/test/helper.rb +50 -0
  185. data/test/test_address.rb +40 -21
  186. data/test/test_address_au.rb +19 -9
  187. data/test/test_address_br.rb +9 -2
  188. data/test/test_address_ca.rb +7 -0
  189. data/test/test_address_ch.rb +6 -2
  190. data/test/test_address_ch_de.rb +7 -3
  191. data/test/test_address_ch_fr.rb +7 -3
  192. data/test/test_address_ch_it.rb +5 -1
  193. data/test/test_address_da.rb +18 -9
  194. data/test/test_address_de.rb +12 -5
  195. data/test/test_address_fi.rb +10 -3
  196. data/test/test_address_fr.rb +13 -0
  197. data/test/test_address_gr.rb +43 -0
  198. data/test/test_address_in.rb +20 -12
  199. data/test/test_address_kr.rb +14 -0
  200. data/test/test_address_mx.rb +12 -5
  201. data/test/test_address_nl.rb +11 -5
  202. data/test/test_address_ru.rb +11 -5
  203. data/test/test_address_se.rb +9 -3
  204. data/test/test_address_sn.rb +7 -1
  205. data/test/test_address_ua.rb +17 -10
  206. data/test/test_address_uk.rb +11 -3
  207. data/test/test_address_us.rb +15 -6
  208. data/test/test_airline.rb +17 -0
  209. data/test/test_array_utils.rb +51 -3
  210. data/test/test_avatar.rb +5 -1
  211. data/test/test_aws.rb +25 -0
  212. data/test/test_bacon_ipsum.rb +12 -6
  213. data/test/test_book.rb +41 -0
  214. data/test/test_boolean.rb +4 -0
  215. data/test/test_cheesy_lingo.rb +14 -10
  216. data/test/test_color.rb +126 -1
  217. data/test/test_color_ua.rb +5 -1
  218. data/test/test_company.rb +7 -0
  219. data/test/test_company_cn.rb +24 -0
  220. data/test/test_company_it.rb +7 -1
  221. data/test/test_company_se.rb +6 -0
  222. data/test/test_conference.rb +5 -2
  223. data/test/test_course_mathematiques.rb +5 -1
  224. data/test/test_course_philosophie.rb +5 -1
  225. data/test/test_currency.rb +12 -0
  226. data/test/test_dizzle_ipsum.rb +12 -6
  227. data/test/test_education.rb +9 -2
  228. data/test/test_faker.rb +8 -1
  229. data/test/test_food.rb +11 -4
  230. data/test/test_gender.rb +5 -1
  231. data/test/test_gender_br.rb +18 -0
  232. data/test/test_gender_cn.rb +5 -2
  233. data/test/test_gender_kr.rb +7 -3
  234. data/test/test_geolocation.rb +11 -8
  235. data/test/test_guid.rb +6 -1
  236. data/test/test_healthcare_ipsum.rb +13 -6
  237. data/test/test_hipster_ipsum.rb +13 -6
  238. data/test/test_html_ipsum.rb +28 -20
  239. data/test/test_identification.rb +9 -2
  240. data/test/test_identification_br.rb +46 -0
  241. data/test/test_identification_co.rb +7 -0
  242. data/test/test_identification_es.rb +5 -1
  243. data/test/test_identification_es_cl.rb +5 -1
  244. data/test/test_identification_es_mx.rb +7 -2
  245. data/test/test_identification_kr.rb +4 -0
  246. data/test/test_internet.rb +36 -5
  247. data/test/test_internet_se.rb +12 -4
  248. data/test/test_job.rb +4 -0
  249. data/test/test_job_br.rb +17 -0
  250. data/test/test_job_cn.rb +4 -0
  251. data/test/test_job_fr.rb +4 -0
  252. data/test/test_job_ja.rb +4 -0
  253. data/test/test_job_kr.rb +4 -0
  254. data/test/test_job_vn.rb +22 -0
  255. data/test/test_locale.rb +10 -4
  256. data/test/test_lorem.rb +18 -11
  257. data/test/test_lorem_ar.rb +16 -8
  258. data/test/test_lorem_cn.rb +9 -2
  259. data/test/test_lorem_fr.rb +16 -8
  260. data/test/test_lorem_ja.rb +81 -0
  261. data/test/test_lorem_kr.rb +17 -8
  262. data/test/test_lorem_ua.rb +15 -8
  263. data/test/test_module_utils.rb +2 -2
  264. data/test/test_movie.rb +5 -1
  265. data/test/test_music.rb +11 -4
  266. data/test/test_name.rb +114 -1
  267. data/test/test_name_br.rb +41 -2
  268. data/test/test_name_cn.rb +7 -0
  269. data/test/test_name_cs.rb +7 -0
  270. data/test/test_name_da.rb +13 -6
  271. data/test/test_name_de.rb +4 -0
  272. data/test/test_name_fr.rb +7 -0
  273. data/test/test_name_ga.rb +7 -0
  274. data/test/test_name_gr.rb +70 -0
  275. data/test/test_name_it.rb +7 -0
  276. data/test/test_name_ja.rb +7 -0
  277. data/test/test_name_kh.rb +32 -0
  278. data/test/test_name_kr.rb +7 -0
  279. data/test/test_name_mx.rb +9 -0
  280. data/test/test_name_nb.rb +8 -0
  281. data/test/test_name_nl.rb +4 -0
  282. data/test/test_name_ph.rb +7 -0
  283. data/test/test_name_ru.rb +10 -3
  284. data/test/test_name_se.rb +12 -4
  285. data/test/test_name_sn.rb +8 -0
  286. data/test/test_name_th.rb +7 -0
  287. data/test/test_name_th_en.rb +35 -0
  288. data/test/test_name_ua.rb +26 -17
  289. data/test/test_name_vn.rb +42 -0
  290. data/test/test_nato_alphabet.rb +15 -4
  291. data/test/test_phone_number.rb +24 -6
  292. data/test/test_phone_number_au.rb +17 -6
  293. data/test/test_phone_number_br.rb +22 -13
  294. data/test/test_phone_number_cu.rb +29 -18
  295. data/test/test_phone_number_da.rb +16 -7
  296. data/test/test_phone_number_de.rb +17 -9
  297. data/test/test_phone_number_kr.rb +9 -0
  298. data/test/test_phone_number_mx.rb +16 -8
  299. data/test/test_phone_number_nl.rb +9 -2
  300. data/test/test_phone_number_se.rb +12 -7
  301. data/test/test_phone_number_sg.rb +17 -9
  302. data/test/test_phone_number_sn.rb +12 -4
  303. data/test/test_products.rb +22 -0
  304. data/test/test_skill.rb +8 -2
  305. data/test/test_sports.rb +4 -0
  306. data/test/test_ssn.rb +3 -1
  307. data/test/test_ssn_mx.rb +6 -1
  308. data/test/test_ssn_se.rb +3 -0
  309. data/test/test_string.rb +28 -1
  310. data/test/test_time.rb +33 -2
  311. data/test/test_tweet.rb +59 -0
  312. data/test/test_units.rb +7 -0
  313. data/test/test_units_english.rb +9 -0
  314. data/test/test_units_metric.rb +9 -0
  315. data/test/test_vehicle.rb +24 -15
  316. data/test/test_venue.rb +5 -1
  317. data/test/test_youtube.rb +28 -0
  318. metadata +101 -5
  319. data/lib/ffaker/data/name/first_names +0 -3008
  320. data/lib/ffaker/data/name_br/first_names +0 -91
@@ -6,9 +6,9 @@ class TestModuleUtils < Test::Unit::TestCase
6
6
  def test_provides_a_k_method_for_generating_constant_arrays
7
7
  obj = Object.new
8
8
  obj.extend FFaker::ModuleUtils
9
- result = obj.k ["1","2","3"]
9
+ result = obj.k %w(1 2 3)
10
10
 
11
11
  assert result.frozen?
12
- result.each {|e| assert e.frozen? }
12
+ result.each { |e| assert e.frozen? }
13
13
  end
14
14
  end
@@ -3,12 +3,16 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestMovie < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::Movie, :title, :rating)
9
+
6
10
  def setup
7
11
  @tester = FFaker::Movie
8
12
  end
9
13
 
10
14
  def test_title
11
- assert_match /[ a-z]+/, FFaker::Movie.title
15
+ assert_match(/[ a-z]+/, FFaker::Movie.title)
12
16
  end
13
17
 
14
18
  def test_rating
@@ -3,19 +3,26 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestMusic < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::Music,
10
+ :genre, :album, :artist, :song
11
+ )
12
+
6
13
  def test_genre
7
- assert_match /[A-z]|\W|\&\/+/, FFaker::Music.genre
14
+ assert_match(/[A-z]|\W|\&\/+/, FFaker::Music.genre)
8
15
  end
9
16
 
10
17
  def test_album
11
- assert_match /\s|[A-z]|\W|\d|\'|\?+/, FFaker::Music.album
18
+ assert_match(/\s|[A-z]|\W|\d|\'|\?+/, FFaker::Music.album)
12
19
  end
13
20
 
14
21
  def test_artist
15
- assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.artist
22
+ assert_match(/\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.artist)
16
23
  end
17
24
 
18
25
  def test_song
19
- assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.song
26
+ assert_match(/\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.song)
20
27
  end
21
28
  end
@@ -3,6 +3,17 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerName < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::Name,
10
+ :name, :name_with_prefix, :female_name_with_prefix, :male_name_with_prefix,
11
+ :name_with_suffix, :female_name_with_suffix, :male_name_with_suffix,
12
+ :name_with_prefix_suffix, :female_name_with_prefix_suffix, :male_name_with_prefix_suffix,
13
+ :first_name, :first_name_female, :first_name_male, :last_name,
14
+ :prefix, :female_prefix, :male_prefix, :other_prefix, :suffix
15
+ )
16
+
6
17
  def setup
7
18
  @tester = FFaker::Name
8
19
  end
@@ -11,8 +22,110 @@ class TestFakerName < Test::Unit::TestCase
11
22
  assert_match(/(\w+\.? ?){2,3}/, @tester.name)
12
23
  end
13
24
 
25
+ def test_html_safe_name
26
+ assert_match(/(\w+\.? ?){2,3}/, @tester.html_safe_name)
27
+ end
28
+
29
+ def test_name_with_prefix
30
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
31
+ assert_include(@tester::PREFIXES, prefix)
32
+ assert(!name.empty?)
33
+ refute_empty(last_name)
34
+ end
35
+
36
+ def test_female_name_with_prefix
37
+ prefix, name, last_name = @tester.female_name_with_prefix.split(/\s+/)
38
+ assert_include(@tester::FEMALE_PREFIXES, prefix)
39
+ assert_include(@tester::FIRST_NAMES_FEMALE, name)
40
+ refute_empty(last_name)
41
+ end
42
+
43
+ def test_male_name_with_prefix
44
+ prefix, name, last_name = @tester.male_name_with_prefix.split(/\s+/)
45
+ assert_include(@tester::MALE_PREFIXES, prefix)
46
+ assert_include(@tester::FIRST_NAMES_MALE, name)
47
+ refute_empty(last_name)
48
+ end
49
+
50
+ def test_name_with_suffix
51
+ name, last_name, suffix = @tester.name_with_suffix.split(/\s+/)
52
+ assert_include(@tester::SUFFIXES, suffix)
53
+ assert(!name.empty?)
54
+ refute_empty(last_name)
55
+ end
56
+
57
+ def test_female_name_with_suffix
58
+ name, last_name, suffix = @tester.female_name_with_suffix.split(/\s+/)
59
+ assert_include(@tester::SUFFIXES, suffix)
60
+ assert_include(@tester::FIRST_NAMES_FEMALE, name)
61
+ refute_empty(last_name)
62
+ end
63
+
64
+ def test_male_name_with_suffix
65
+ name, last_name, suffix = @tester.male_name_with_suffix.split(/\s+/)
66
+ assert_include(@tester::SUFFIXES, suffix)
67
+ assert_include(@tester::FIRST_NAMES_MALE, name)
68
+ refute_empty(last_name)
69
+ end
70
+
71
+ def test_name_with_prefix_suffix
72
+ prefix, name, last_name, suffix = @tester.name_with_prefix_suffix.split(/\s+/)
73
+ assert_include(@tester::PREFIXES, prefix)
74
+ assert_include(@tester::SUFFIXES, suffix)
75
+ assert(!name.empty?)
76
+ refute_empty(last_name)
77
+ end
78
+
79
+ def test_female_name_with_prefix_suffix
80
+ prefix, name, last_name, suffix = @tester.female_name_with_prefix_suffix.split(/\s+/)
81
+ assert_include(@tester::FEMALE_PREFIXES, prefix)
82
+ assert_include(@tester::SUFFIXES, suffix)
83
+ assert_include(@tester::FIRST_NAMES_FEMALE, name)
84
+ refute_empty(last_name)
85
+ end
86
+
87
+ def test_male_name_with_prefix_suffix
88
+ prefix, name, last_name, suffix = @tester.male_name_with_prefix_suffix.split(/\s+/)
89
+ assert_include(@tester::MALE_PREFIXES, prefix)
90
+ assert_include(@tester::SUFFIXES, suffix)
91
+ assert_include(@tester::FIRST_NAMES_MALE, name)
92
+ refute_empty(last_name)
93
+ end
94
+
95
+ def test_first_name
96
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
97
+ end
98
+
99
+ def test_first_name_female
100
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
101
+ end
102
+
103
+ def test_first_name_male
104
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
105
+ end
106
+
107
+ def test_last_name
108
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
109
+ end
110
+
111
+ def test_html_safe_last_name
112
+ assert_include(@tester::LAST_NAMES, @tester.html_safe_last_name)
113
+ end
114
+
14
115
  def test_prefix
15
- assert_match(/[A-Z][a-z]+\.?/, @tester.prefix)
116
+ assert_include(@tester::PREFIXES, @tester.prefix)
117
+ end
118
+
119
+ def test_female_prefix
120
+ assert_include(@tester::FEMALE_PREFIXES, @tester.female_prefix)
121
+ end
122
+
123
+ def test_male_prefix
124
+ assert_include(@tester::MALE_PREFIXES, @tester.male_prefix)
125
+ end
126
+
127
+ def test_other_prefix
128
+ assert_include(@tester::OTHER_PREFIXES, @tester.other_prefix)
16
129
  end
17
130
 
18
131
  def test_suffix
@@ -3,24 +3,55 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameBR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameBR,
10
+ :name, :name_with_prefix, :first_name, :first_name_female, :first_name_male,
11
+ :last_name, :prefix, :female_prefix, :male_prefix
12
+ )
13
+
6
14
  def setup
7
15
  @tester = FFaker::NameBR
8
16
  end
9
17
 
10
18
  def test_name
11
- assert_match(/\A[a-zA-ZéúôóíáÍã\s]+\z/, @tester.name)
19
+ assert_match(/\A[a-zA-ZáâãéêíóôúüÂÁÉÊÍÓÔÚç\s]+\z/, @tester.name)
12
20
  end
13
21
 
14
22
  def test_name_with_prefix
15
- prefix, name = @tester.name_with_prefix.split(/\s+/)
23
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
16
24
  assert_include(@tester::PREFIXES, prefix)
17
25
  assert(name.length > 0)
26
+ refute_empty(last_name)
27
+ end
28
+
29
+ def test_female_name_with_prefix
30
+ prefix, name, last_name = @tester.female_name_with_prefix.split(/\s+/)
31
+ assert_include(@tester::FEMALE_PREFIXES, prefix)
32
+ assert_include(@tester::FIRST_NAMES_FEMALE, name)
33
+ refute_empty(last_name)
34
+ end
35
+
36
+ def test_male_name_with_prefix
37
+ prefix, name, last_name = @tester.male_name_with_prefix.split(/\s+/)
38
+ assert_include(@tester::MALE_PREFIXES, prefix)
39
+ assert_include(@tester::FIRST_NAMES_MALE, name)
40
+ refute_empty(last_name)
18
41
  end
19
42
 
20
43
  def test_first_name
21
44
  assert_include(@tester::FIRST_NAMES, @tester.first_name)
22
45
  end
23
46
 
47
+ def test_first_name_female
48
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
49
+ end
50
+
51
+ def test_first_name_male
52
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
53
+ end
54
+
24
55
  def test_last_name
25
56
  assert_include(@tester::LAST_NAMES, @tester.last_name)
26
57
  end
@@ -28,4 +59,12 @@ class TestFakerNameBR < Test::Unit::TestCase
28
59
  def test_prefix
29
60
  assert_include(@tester::PREFIXES, @tester.prefix)
30
61
  end
62
+
63
+ def test_female_prefix
64
+ assert_include(@tester::FEMALE_PREFIXES, @tester.female_prefix)
65
+ end
66
+
67
+ def test_male_prefix
68
+ assert_include(@tester::MALE_PREFIXES, @tester.male_prefix)
69
+ end
31
70
  end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameCN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameCN,
10
+ :name, :first_name, :last_name
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NameCN
8
15
  end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameCS < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameCS,
10
+ :name, :last_name, :first_name, :prefix, :suffix
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NameCS
8
15
  end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameDA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameDA,
10
+ :any_name, :male_name, :female_name, :last_name, :prefix
11
+ )
12
+
6
13
  RU_REGEX = /[А-Я][а-я]+/
7
14
 
8
15
  def setup
@@ -18,15 +25,15 @@ class TestFakerNameDA < Test::Unit::TestCase
18
25
  end
19
26
 
20
27
  def test_male_name
21
- regexp = %r(#{@tester::MALE_FIRST_NAMES.join('|')})
28
+ regexp = /#{@tester::MALE_FIRST_NAMES.join('|')}/
22
29
  assert @tester.male_name.count(' ') < 3
23
- assert_match regexp, @tester.male_name
30
+ assert_match(regexp, @tester.male_name)
24
31
  end
25
32
 
26
33
  def test_female_name
27
- regexp = %r(#{@tester::FEMALE_FIRST_NAMES.join('|')})
34
+ regexp = /#{@tester::FEMALE_FIRST_NAMES.join('|')}/
28
35
  assert @tester.female_name.count(' ') < 3
29
- assert_match regexp, @tester.female_name
36
+ assert_match(regexp, @tester.female_name)
30
37
  end
31
38
 
32
39
  def test_first_name
@@ -39,10 +46,10 @@ class TestFakerNameDA < Test::Unit::TestCase
39
46
  end
40
47
 
41
48
  def test_last_name
42
- assert_match /\A['a-z]+\z/i, @tester.last_name
49
+ assert_match(/\A['a-z]+\z/i, @tester.last_name)
43
50
  end
44
51
 
45
52
  def test_prefix
46
- assert_match /\A(?:Hr|Fr|Dr|Prof)\.\Z/, @tester.prefix
53
+ assert_match(/\A(?:Hr|Fr|Dr|Prof)\.\Z/, @tester.prefix)
47
54
  end
48
55
  end
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameDE < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::NameDE, :name, :prefix, :suffix)
9
+
6
10
  def setup
7
11
  @tester = FFaker::NameDE
8
12
  end
@@ -4,6 +4,13 @@ require 'helper'
4
4
 
5
5
  # Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
6
6
  class TestFakerNameFR < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NameFR,
11
+ :first_name, :last_name, :prefix
12
+ )
13
+
7
14
  def setup
8
15
  @tester = FFaker::NameFR
9
16
  end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameGa < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameGA,
10
+ :last_name, :first_name_male, :first_name_female, :name_male, :name_female, :name
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NameGA
8
15
  end
@@ -0,0 +1,70 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameGR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameGR,
10
+ :male_first_name, :male_last_name, :female_first_name, :female_last_name,
11
+ :male_full_name, :female_full_name, :last_name, :first_name
12
+ )
13
+
14
+ def setup
15
+ @tester = FFaker::NameGR
16
+ end
17
+
18
+ def test_male_first_name
19
+ assert_include @tester::MALE_FIRST_NAMES, @tester.male_first_name
20
+ end
21
+
22
+ def test_male_last_name
23
+ assert_include @tester::MALE_LAST_NAMES, @tester.male_last_name
24
+ end
25
+
26
+ def test_female_first_name
27
+ assert_include @tester::FEMALE_FIRST_NAMES, @tester.female_first_name
28
+ end
29
+
30
+ def test_female_last_name
31
+ assert_include @tester::FEMALE_LAST_NAMES, @tester.female_last_name
32
+ end
33
+
34
+ def test_male_full_name
35
+ names = @tester.male_full_name.split(' ')
36
+ assert_include @tester::MALE_FIRST_NAMES, names[0]
37
+ assert_include @tester::MALE_LAST_NAMES, names[1]
38
+ end
39
+
40
+ def test_female_full_name
41
+ names = @tester.female_full_name.split(' ')
42
+ assert_include @tester::FEMALE_FIRST_NAMES, names[0]
43
+ assert_include @tester::FEMALE_LAST_NAMES, names[1]
44
+ end
45
+
46
+ # For random names
47
+ def test_last_name
48
+ all_names = @tester::MALE_LAST_NAMES + @tester::FEMALE_LAST_NAMES
49
+ assert_include all_names, @tester.last_name
50
+ end
51
+
52
+ def test_first_name
53
+ all_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
54
+ assert_include all_names, @tester.first_name
55
+ end
56
+
57
+ def test_full_name_male
58
+ names = @tester.full_name(:male).split(' ')
59
+ assert_include @tester::MALE_FIRST_NAMES, names[0]
60
+ assert_include @tester::MALE_LAST_NAMES, names[1]
61
+ assert_deterministic { @tester.full_name(:male) }
62
+ end
63
+
64
+ def test_full_name_female
65
+ names = @tester.full_name(:female).split(' ')
66
+ assert_include @tester::FEMALE_FIRST_NAMES, names[0]
67
+ assert_include @tester::FEMALE_LAST_NAMES, names[1]
68
+ assert_deterministic { @tester.full_name(:female) }
69
+ end
70
+ end