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
@@ -4,6 +4,13 @@ require 'helper'
4
4
 
5
5
  # Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
6
6
  class TestFakerNameIT < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NameIT,
11
+ :prefix, :last_name, :first_name, :name
12
+ )
13
+
7
14
  def setup
8
15
  @tester = FFaker::NameIT
9
16
  end
@@ -15,6 +15,13 @@ class TestFakerNameJA < Test::Unit::TestCase
15
15
  end
16
16
  end
17
17
 
18
+ include DeterministicHelper
19
+
20
+ assert_methods_are_deterministic(
21
+ FFaker::NameJA,
22
+ :last_name, :first_name, :last_first, :name
23
+ )
24
+
18
25
  def setup
19
26
  @tester = FFaker::NameJA
20
27
  end
@@ -0,0 +1,32 @@
1
+ require 'helper'
2
+
3
+ class TestFakerNameKH < Test::Unit::TestCase
4
+ include DeterministicHelper
5
+
6
+ assert_methods_are_deterministic(
7
+ FFaker::NameKH,
8
+ :last_name, :first_name, :nick_name, :name
9
+ )
10
+
11
+ def setup
12
+ @name_KH = FFaker::NameKH
13
+ end
14
+
15
+ def test_last_name
16
+ assert_include @name_KH::LAST_NAMES, @name_KH.last_name
17
+ end
18
+
19
+ def test_first_name
20
+ assert_include @name_KH::FIRST_NAMES, @name_KH.first_name
21
+ end
22
+
23
+ def test_nick_name
24
+ assert_include @name_KH::NICK_NAMES, @name_KH.nick_name
25
+ end
26
+
27
+ def test_name
28
+ last_name, first_name = @name_KH.name.split(' ')
29
+ assert_include @name_KH::FIRST_NAMES, first_name
30
+ assert_include @name_KH::LAST_NAMES, last_name
31
+ end
32
+ end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameKR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameKR,
10
+ :name, :last_name, :name_with_space
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NameKR
8
15
  end
@@ -4,6 +4,15 @@ require 'helper'
4
4
 
5
5
  # Author: guapolo github.com/guapolo
6
6
  class TestFakerNameMX < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NameMX,
11
+ :last_name, :first_name, :middle_name, :name, :male_prefix, :female_prefix,
12
+ :prefix, :male_name, :female_name, :full_name, :full_name_no_prefix,
13
+ :full_name_prefix
14
+ )
15
+
7
16
  def setup
8
17
  @tester = FFaker::NameMX
9
18
  @all_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
@@ -3,6 +3,14 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameNB < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameNB,
10
+ :last_name, :first_name_male, :first_name_female, :prefix, :first_name,
11
+ :name
12
+ )
13
+
6
14
  def setup
7
15
  @tester = FFaker::NameNB
8
16
  end
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameNL < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::NameNL, :name, :prefix, :suffix)
9
+
6
10
  def setup
7
11
  @tester = FFaker::NameNL
8
12
  end
@@ -3,8 +3,15 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNamePH < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
6
8
  PH_REGEXP = /\A([\wñÑú-]+\.? ?){2,5}\z/
7
9
 
10
+ assert_methods_are_deterministic(
11
+ FFaker::NamePH,
12
+ :name, :last_name, :first_name, :prefix
13
+ )
14
+
8
15
  def setup
9
16
  @tester = FFaker::NamePH
10
17
  end
@@ -3,8 +3,15 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameRU < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
6
8
  RU_REGEX = /[А-Я][а-я]+/
7
9
 
10
+ assert_methods_are_deterministic(
11
+ FFaker::NameRU,
12
+ :name, :last_name, :first_name, :patronymic
13
+ )
14
+
8
15
  def setup
9
16
  @tester = FFaker::NameRU
10
17
  end
@@ -21,7 +28,7 @@ class TestFakerNameRU < Test::Unit::TestCase
21
28
  end
22
29
 
23
30
  def test_last_name
24
- assert_match RU_REGEX, @tester.last_name
31
+ assert_match(RU_REGEX, @tester.last_name)
25
32
  end
26
33
 
27
34
  def test_male_last_name
@@ -29,7 +36,7 @@ class TestFakerNameRU < Test::Unit::TestCase
29
36
  end
30
37
 
31
38
  def test_first_name
32
- assert_match RU_REGEX, @tester.first_name
39
+ assert_match(RU_REGEX, @tester.first_name)
33
40
  end
34
41
 
35
42
  def test_male_first_name
@@ -37,7 +44,7 @@ class TestFakerNameRU < Test::Unit::TestCase
37
44
  end
38
45
 
39
46
  def test_patronymic
40
- assert_match RU_REGEX, @tester.patronymic
47
+ assert_match(RU_REGEX, @tester.patronymic)
41
48
  end
42
49
 
43
50
  def test_male_patronymic
@@ -3,24 +3,32 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameSE < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameSE,
10
+ :last_name, :first_name_male, :first_name_female,
11
+ :prefix, :first_name, :name
12
+ )
13
+
6
14
  def setup
7
15
  @tester = FFaker::NameSE
8
16
  end
9
17
 
10
18
  def test_last_name
11
- assert_include @tester::LAST_NAMES, (@tester.last_name)
19
+ assert_include @tester::LAST_NAMES, @tester.last_name
12
20
  end
13
21
 
14
22
  def test_first_name_male
15
- assert_include @tester::FIRST_NAMES_MALE, (@tester.first_name_male)
23
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
16
24
  end
17
25
 
18
26
  def test_first_name_female
19
- assert_include @tester::FIRST_NAMES_FEMALE, (@tester.first_name_female)
27
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
20
28
  end
21
29
 
22
30
  def test_prefix
23
- assert_include @tester::PREFIXES, (@tester.prefix)
31
+ assert_include @tester::PREFIXES, @tester.prefix
24
32
  end
25
33
 
26
34
  def test_first_name
@@ -4,6 +4,14 @@ require 'helper'
4
4
 
5
5
  # Author: PapePathe<pathe.sene@gmail.com> github.com/PapePathe
6
6
  class TestFakerNameSn < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(
10
+ FFaker::NameSN,
11
+ :last_name, :first_name_male, :first_name_female,
12
+ :prefix_male, :prefix_female, :name_male, :name_female, :name_sn
13
+ )
14
+
7
15
  def setup
8
16
  @tester = FFaker::NameSN
9
17
  end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerNameTH < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameTH,
10
+ :last_name, :first_name, :nick_name, :name
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NameTH
8
15
  end
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestFakerNameTHEN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameTHEN,
10
+ :last_name, :first_name, :nick_name, :name
11
+ )
12
+
13
+ def setup
14
+ @tester = FFaker::NameTHEN
15
+ end
16
+
17
+ def test_last_name
18
+ assert_include @tester::LAST_NAMES, @tester.last_name
19
+ end
20
+
21
+ def test_first_name
22
+ assert_include @tester::FIRST_NAMES, @tester.first_name
23
+ end
24
+
25
+ def test_nick_name
26
+ assert_include @tester::NICK_NAMES, @tester.nick_name
27
+ end
28
+
29
+ def test_name
30
+ *first_names, last_name = @tester.name.split(' ')
31
+ first_name = first_names.join(' ')
32
+ assert_include @tester::FIRST_NAMES, first_name
33
+ assert_include @tester::LAST_NAMES, last_name
34
+ end
35
+ end
@@ -3,6 +3,15 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestNameUA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameUA,
10
+ :first_name_female, :first_name_male, :first_name,
11
+ :last_name_female, :last_name_male, :last_name,
12
+ :middle_name_female, :middle_name_male, :name
13
+ )
14
+
6
15
  def setup
7
16
  @tester = FFaker::NameUA
8
17
 
@@ -11,48 +20,48 @@ class TestNameUA < Test::Unit::TestCase
11
20
  end
12
21
 
13
22
  def test_first_name_male
14
- assert_include @tester::FIRST_NAMES_MALE, (@tester.first_name_male)
15
- assert_match @single_word_name_regexp, @tester.first_name_male
23
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
24
+ assert_match(@single_word_name_regexp, @tester.first_name_male)
16
25
  end
17
26
 
18
27
  def test_first_name_female
19
- assert_include @tester::FIRST_NAMES_FEMALE, (@tester.first_name_female)
20
- assert_match @single_word_name_regexp, @tester.first_name_female
28
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
29
+ assert_match(@single_word_name_regexp, @tester.first_name_female)
21
30
  end
22
31
 
23
32
  def test_middle_name_male
24
- assert_include @tester::MIDDLE_NAMES_MALE, (@tester.middle_name_male)
25
- assert_match @single_word_name_regexp, @tester.middle_name_male
33
+ assert_include @tester::MIDDLE_NAMES_MALE, @tester.middle_name_male
34
+ assert_match(@single_word_name_regexp, @tester.middle_name_male)
26
35
  end
27
36
 
28
37
  def test_middle_name_female
29
- assert_include @tester::MIDDLE_NAMES_FEMALE, (@tester.middle_name_female)
30
- assert_match @single_word_name_regexp, @tester.middle_name_female
38
+ assert_include @tester::MIDDLE_NAMES_FEMALE, @tester.middle_name_female
39
+ assert_match(@single_word_name_regexp, @tester.middle_name_female)
31
40
  end
32
41
 
33
42
  def test_last_name_male
34
- assert_include @tester::LAST_NAMES_MALE, (@tester.last_name_male)
35
- assert_match @single_word_name_regexp, @tester.last_name_male
43
+ assert_include @tester::LAST_NAMES_MALE, @tester.last_name_male
44
+ assert_match(@single_word_name_regexp, @tester.last_name_male)
36
45
  end
37
46
 
38
47
  def test_last_name_female
39
- assert_include @tester::LAST_NAMES_FEMALE, (@tester.last_name_female)
40
- assert_match @single_word_name_regexp, @tester.last_name_female
48
+ assert_include @tester::LAST_NAMES_FEMALE, @tester.last_name_female
49
+ assert_match(@single_word_name_regexp, @tester.last_name_female)
41
50
  end
42
51
 
43
52
  def test_first_name
44
- assert_include @tester::FIRST_NAMES, (@tester.first_name)
45
- assert_match @single_word_name_regexp, @tester.first_name
53
+ assert_include @tester::FIRST_NAMES, @tester.first_name
54
+ assert_match(@single_word_name_regexp, @tester.first_name)
46
55
  end
47
56
 
48
57
  def test_last_name
49
- assert_include @tester::LAST_NAMES, (@tester.last_name)
50
- assert_match @single_word_name_regexp, @tester.last_name
58
+ assert_include @tester::LAST_NAMES, @tester.last_name
59
+ assert_match(@single_word_name_regexp, @tester.last_name)
51
60
  end
52
61
 
53
62
  def test_name
54
63
  8.times do
55
- assert_match @multiple_words_name_regexp, @tester.name
64
+ assert_match(@multiple_words_name_regexp, @tester.name)
56
65
  assert_include [1, 2, 3], @tester.name.split(' ').count
57
66
  end
58
67
  end
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestNameVN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NameVN,
10
+ :last_name, :first_name, :middle_name, :name, :last_first
11
+ )
12
+
13
+ def setup
14
+ @tester = FFaker::NameVN
15
+ end
16
+
17
+ def test_last_name
18
+ assert_include @tester::LAST_NAMES, @tester.last_name
19
+ end
20
+
21
+ def test_first_name
22
+ assert_include @tester::FIRST_NAMES, @tester.first_name
23
+ end
24
+
25
+ def test_middle_name
26
+ assert_include @tester::MIDDLE_NAMES, @tester.middle_name
27
+ end
28
+
29
+ def test_name
30
+ (middle_name, first_name, last_name) = @tester.name.split(' ')
31
+ assert_include @tester::FIRST_NAMES, first_name
32
+ assert_include @tester::MIDDLE_NAMES, middle_name
33
+ assert_include @tester::LAST_NAMES, last_name
34
+ end
35
+
36
+ def test_last_first
37
+ (last_name, middle_name, first_name) = @tester.last_first.split(' ')
38
+ assert_include @tester::FIRST_NAMES, first_name
39
+ assert_include @tester::MIDDLE_NAMES, middle_name
40
+ assert_include @tester::LAST_NAMES, last_name
41
+ end
42
+ end
@@ -3,6 +3,13 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestNato < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::NatoAlphabet,
10
+ :code, :alphabetic_code, :numeric_code, :callsign
11
+ )
12
+
6
13
  def setup
7
14
  @tester = FFaker::NatoAlphabet
8
15
  end
@@ -20,12 +27,16 @@ class TestNato < Test::Unit::TestCase
20
27
  end
21
28
 
22
29
  def test_callsign
23
- assert_match /[A-Z]+-[A-Z]+-[A-Z]+/, @tester.callsign
30
+ assert_match(/[A-Z]+-[A-Z]+-[A-Z]+/, @tester.callsign)
24
31
  end
25
32
 
26
33
  def test_codify
27
- assert_match /[A-Z]+-[A-Z]+-[A-Z]+/, @tester.codify("?-?-?")
28
- assert_match /[A-Z]+-[A-Z]+-[A-Z]+/, @tester.codify("?-#-?")
29
- assert_match FFaker::NatoAlphabet::STOP_CODE, @tester.codify(".")
34
+ assert_match(/[A-Z]+-[A-Z]+-[A-Z]+/, @tester.codify('?-?-?'))
35
+ assert_match(/[A-Z]+-[A-Z]+-[A-Z]+/, @tester.codify('?-#-?'))
36
+ assert_match(FFaker::NatoAlphabet::STOP_CODE, @tester.codify('.'))
37
+
38
+ assert_deterministic { @tester.codify('?-?-?') }
39
+ assert_deterministic { @tester.codify('?-#-?') }
40
+ assert_deterministic { @tester.codify('.') }
30
41
  end
31
42
  end
@@ -3,25 +3,43 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestPhoneNumer < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::PhoneNumber,
10
+ :phone_number, :area_code, :exchange_code, :short_phone_number, :phone_calling_code, :imei
11
+ )
12
+
6
13
  def test_phone_number
7
- assert_match /\d{3}[. -]\d{3}/, FFaker::PhoneNumber.phone_number
14
+ assert_match(/\d{3}[. -]\d{3}/, FFaker::PhoneNumber.phone_number)
8
15
  end
9
16
 
10
17
  def test_area_code
11
- assert_not_match /\A\d11\z/, FFaker::PhoneNumber.area_code.to_s
12
- assert_match /\A\d{3}\z/, FFaker::PhoneNumber.area_code.to_s
18
+ assert_not_match(/\A\d11\z/, FFaker::PhoneNumber.area_code.to_s)
19
+ assert_match(/\A\d{3}\z/, FFaker::PhoneNumber.area_code.to_s)
20
+ end
21
+
22
+ def test_exchange_code
23
+ assert_not_match(/\A\d11\z/, FFaker::PhoneNumber.exchange_code.to_s)
24
+ assert_match(/\A\d{3}\z/, FFaker::PhoneNumber.exchange_code.to_s)
13
25
  end
14
26
 
15
27
  def test_short_phone_number
16
- assert_match /\A\d{3}-\d{3}-\d{4}\z/, FFaker::PhoneNumber.short_phone_number
28
+ assert_match(/\A\d{3}-\d{3}-\d{4}\z/, FFaker::PhoneNumber.short_phone_number)
29
+ end
30
+
31
+ def test_phone_calling_code
32
+ assert_match(/\A\+\d+\z/, FFaker::PhoneNumber.phone_calling_code)
17
33
  end
18
34
 
19
35
  def test_imei
20
- assert_match /\A\d{15}\z/, FFaker::PhoneNumber.imei
36
+ assert_match(/\A\d{15}\z/, FFaker::PhoneNumber.imei)
21
37
  end
22
38
 
23
39
  def test_imei_with_sn
24
40
  sn = rand(1_000_000)
25
- assert_match /\A\d{8}#{sprintf('%06d', sn)}\d{1}\z/, FFaker::PhoneNumber.imei(sn)
41
+ assert_match(/\A\d{8}#{sprintf('%06d', sn)}\d{1}\z/,
42
+ FFaker::PhoneNumber.imei(sn))
43
+ assert_deterministic { FFaker::PhoneNumber.imei(sn) }
26
44
  end
27
45
  end