ffaker 2.10.0 → 2.23.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 (644) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +217 -15
  3. data/Gemfile +17 -0
  4. data/README.md +43 -10
  5. data/REFERENCE.md +1681 -1241
  6. data/Rakefile +20 -55
  7. data/bin/console +9 -0
  8. data/ffaker.gemspec +17 -23
  9. data/lib/ffaker/address.rb +7 -7
  10. data/lib/ffaker/address_au.rb +8 -10
  11. data/lib/ffaker/address_br.rb +16 -4
  12. data/lib/ffaker/address_ca.rb +3 -3
  13. data/lib/ffaker/address_ch.rb +1 -3
  14. data/lib/ffaker/address_ch_de.rb +1 -3
  15. data/lib/ffaker/address_ch_fr.rb +1 -3
  16. data/lib/ffaker/address_ch_it.rb +1 -3
  17. data/lib/ffaker/address_da.rb +1 -3
  18. data/lib/ffaker/address_de.rb +1 -3
  19. data/lib/ffaker/address_fi.rb +1 -3
  20. data/lib/ffaker/address_fr.rb +9 -9
  21. data/lib/ffaker/address_gr.rb +1 -3
  22. data/lib/ffaker/address_id.rb +0 -3
  23. data/lib/ffaker/address_in.rb +5 -3
  24. data/lib/ffaker/address_it.rb +33 -0
  25. data/lib/ffaker/address_ja.rb +0 -3
  26. data/lib/ffaker/address_kr.rb +0 -1
  27. data/lib/ffaker/address_mx.rb +3 -471
  28. data/lib/ffaker/address_nl.rb +2 -6
  29. data/lib/ffaker/address_pl.rb +0 -2
  30. data/lib/ffaker/address_ru.rb +1 -3
  31. data/lib/ffaker/address_se.rb +1 -3
  32. data/lib/ffaker/address_sn.rb +1 -4
  33. data/lib/ffaker/address_ua.rb +3 -5
  34. data/lib/ffaker/address_uk.rb +1 -3
  35. data/lib/ffaker/address_us.rb +23 -5
  36. data/lib/ffaker/airline.rb +1 -1
  37. data/lib/ffaker/animal.rb +14 -0
  38. data/lib/ffaker/{animals.rb → animal_br.rb} +2 -2
  39. data/lib/ffaker/animal_cn.rb +12 -0
  40. data/lib/ffaker/animal_es.rb +12 -0
  41. data/lib/ffaker/animal_pl.rb +15 -0
  42. data/lib/ffaker/animal_us.rb +12 -0
  43. data/lib/ffaker/avatar.rb +32 -6
  44. data/lib/ffaker/aws.rb +1 -1
  45. data/lib/ffaker/bacon_ipsum.rb +1 -3
  46. data/lib/ffaker/bank.rb +118 -0
  47. data/lib/ffaker/bank_us.rb +33 -0
  48. data/lib/ffaker/book.rb +16 -8
  49. data/lib/ffaker/boolean.rb +1 -1
  50. data/lib/ffaker/cheesy_lingo.rb +5 -8
  51. data/lib/ffaker/code.rb +17 -1
  52. data/lib/ffaker/color.rb +7 -7
  53. data/lib/ffaker/color_pl.rb +14 -0
  54. data/lib/ffaker/color_ua.rb +1 -1
  55. data/lib/ffaker/company.rb +6 -9
  56. data/lib/ffaker/company_cn.rb +1 -1
  57. data/lib/ffaker/company_fr.rb +35 -0
  58. data/lib/ffaker/company_it.rb +4 -2
  59. data/lib/ffaker/company_ja.rb +24 -0
  60. data/lib/ffaker/company_se.rb +1 -1
  61. data/lib/ffaker/conference.rb +1 -1
  62. data/lib/ffaker/{courses.rb → courses_fr.rb} +3 -1
  63. data/lib/ffaker/crypto.rb +14 -0
  64. data/lib/ffaker/currency.rb +1 -1
  65. data/lib/ffaker/data/address/city_suffixes +1 -1
  66. data/lib/ffaker/data/address/country +1 -1
  67. data/lib/ffaker/data/address/country_code +1 -1
  68. data/lib/ffaker/data/address/neighborhood +1 -1
  69. data/lib/ffaker/data/address/street_suffix +1 -1
  70. data/lib/ffaker/data/address_br/city +0 -1
  71. data/lib/ffaker/data/address_br/complement +3 -0
  72. data/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
  73. data/lib/ffaker/data/address_br/state +1 -1
  74. data/lib/ffaker/data/address_ca/city +99 -99
  75. data/lib/ffaker/data/address_ca/province +1 -1
  76. data/lib/ffaker/data/address_de/city +1 -1
  77. data/lib/ffaker/data/address_de/state +2 -1
  78. data/lib/ffaker/data/address_fr/city +1 -1
  79. data/lib/ffaker/data/address_fr/region +27 -0
  80. data/lib/ffaker/data/address_gr/city +1 -1
  81. data/lib/ffaker/data/address_gr/region +1 -1
  82. data/lib/ffaker/data/address_gr/street +1 -1
  83. data/lib/ffaker/data/address_in/city +24 -0
  84. data/lib/ffaker/data/address_it/city +111 -0
  85. data/lib/ffaker/data/address_it/region +20 -0
  86. data/lib/ffaker/data/address_ja/city +0 -23
  87. data/lib/ffaker/data/address_mx/ags +11 -0
  88. data/lib/ffaker/data/address_mx/bc +5 -0
  89. data/lib/ffaker/data/address_mx/bcs +5 -0
  90. data/lib/ffaker/data/address_mx/camp +11 -0
  91. data/lib/ffaker/data/address_mx/chih +67 -0
  92. data/lib/ffaker/data/address_mx/chis +118 -0
  93. data/lib/ffaker/data/address_mx/coah +38 -0
  94. data/lib/ffaker/data/address_mx/col +10 -0
  95. data/lib/ffaker/data/address_mx/df +16 -0
  96. data/lib/ffaker/data/address_mx/dgo +39 -0
  97. data/lib/ffaker/data/address_mx/gro +81 -0
  98. data/lib/ffaker/data/address_mx/gto +46 -0
  99. data/lib/ffaker/data/address_mx/hgo +84 -0
  100. data/lib/ffaker/data/address_mx/jal +125 -0
  101. data/lib/ffaker/data/address_mx/mex +125 -0
  102. data/lib/ffaker/data/address_mx/mich +113 -0
  103. data/lib/ffaker/data/address_mx/mor +33 -0
  104. data/lib/ffaker/data/address_mx/nay +20 -0
  105. data/lib/ffaker/data/address_mx/nl +51 -0
  106. data/lib/ffaker/data/address_mx/oax +570 -0
  107. data/lib/ffaker/data/address_mx/pue +217 -0
  108. data/lib/ffaker/data/address_mx/qr +10 -0
  109. data/lib/ffaker/data/address_mx/qro +18 -0
  110. data/lib/ffaker/data/address_mx/sin +18 -0
  111. data/lib/ffaker/data/address_mx/slp +58 -0
  112. data/lib/ffaker/data/address_mx/son +72 -0
  113. data/lib/ffaker/data/address_mx/state +1 -1
  114. data/lib/ffaker/data/address_mx/state_abbr +1 -1
  115. data/lib/ffaker/data/address_mx/tab +17 -0
  116. data/lib/ffaker/data/address_mx/tamps +43 -0
  117. data/lib/ffaker/data/address_mx/tlax +60 -0
  118. data/lib/ffaker/data/address_mx/ver +212 -0
  119. data/lib/ffaker/data/address_mx/yuc +106 -0
  120. data/lib/ffaker/data/address_mx/zac +58 -0
  121. data/lib/ffaker/data/address_ru/city +1 -1
  122. data/lib/ffaker/data/address_se/city +1 -1
  123. data/lib/ffaker/data/address_se/countries +1 -1
  124. data/lib/ffaker/data/address_se/street +1 -1
  125. data/lib/ffaker/data/address_sn/arrondissements +1 -1
  126. data/lib/ffaker/data/address_sn/departements +1 -1
  127. data/lib/ffaker/data/address_sn/regions +1 -1
  128. data/lib/ffaker/data/address_uk/county +1 -1
  129. data/lib/ffaker/data/address_us/state +1 -1
  130. data/lib/ffaker/data/address_us/state_abbr +1 -2
  131. data/lib/ffaker/data/address_us/state_and_territories_abbr +1 -1
  132. data/lib/ffaker/data/animal_br/common_names +423 -0
  133. data/lib/ffaker/data/animal_cn/common_names +141 -0
  134. data/lib/ffaker/data/animal_es/common_names +135 -0
  135. data/lib/ffaker/data/animal_pl/common_names +256 -0
  136. data/lib/ffaker/data/animal_us/common_names +141 -0
  137. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +1 -1
  138. data/lib/ffaker/data/aws/ec2_reserved_offering_type +1 -1
  139. data/lib/ffaker/data/aws/ec2_reserved_product_description +1 -1
  140. data/lib/ffaker/data/bank/card_types +12 -0
  141. data/lib/ffaker/data/book/nouns +2 -2
  142. data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +1 -1
  143. data/lib/ffaker/data/cheesy_lingo/cheesy_words +1 -1
  144. data/lib/ffaker/data/color/names_list +1 -1
  145. data/lib/ffaker/data/color_pl/names_list +122 -0
  146. data/lib/ffaker/data/company/bs_mid +1 -1
  147. data/lib/ffaker/data/company/bs_pos +1 -1
  148. data/lib/ffaker/data/company/bs_pre +1 -1
  149. data/lib/ffaker/data/company/catch_mid +1 -1
  150. data/lib/ffaker/data/company/catch_pos +1 -1
  151. data/lib/ffaker/data/company/catch_pre +1 -1
  152. data/lib/ffaker/data/company/position_areas +1 -1
  153. data/lib/ffaker/data/conference/conference_list +1 -1
  154. data/lib/ffaker/data/currency/currency_code +1 -1
  155. data/lib/ffaker/data/currency/currency_name +1 -1
  156. data/lib/ffaker/data/currency/currency_symbol +0 -1
  157. data/lib/ffaker/data/dizzle_ipsum/dizzle_words +1 -1
  158. data/lib/ffaker/data/education/major_noun +1 -1
  159. data/lib/ffaker/data/education/school_suffix +1 -1
  160. data/lib/ffaker/data/education_cn/city +351 -0
  161. data/lib/ffaker/data/education_cn/major +506 -0
  162. data/lib/ffaker/data/education_cn/province +31 -0
  163. data/lib/ffaker/data/education_cn/school_type +27 -0
  164. data/lib/ffaker/data/filesystem/extension +31 -31
  165. data/lib/ffaker/data/food/fruit +1 -1
  166. data/lib/ffaker/data/food/herb_spice +1 -1
  167. data/lib/ffaker/data/food/meat +1 -1
  168. data/lib/ffaker/data/food/vegetable +1 -1
  169. data/lib/ffaker/data/food_pl/diary +14 -0
  170. data/lib/ffaker/data/food_pl/fermented +13 -0
  171. data/lib/ffaker/data/food_pl/fruits +34 -0
  172. data/lib/ffaker/data/food_pl/herbs +20 -0
  173. data/lib/ffaker/data/food_pl/meats +9 -0
  174. data/lib/ffaker/data/food_pl/preserves +10 -0
  175. data/lib/ffaker/data/food_pl/spices +26 -0
  176. data/lib/ffaker/data/food_pl/vegetables +45 -0
  177. data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
  178. data/lib/ffaker/data/game/adj_and_adv +18 -0
  179. data/lib/ffaker/data/game/category +84 -0
  180. data/lib/ffaker/data/game/mechanic +182 -0
  181. data/lib/ffaker/data/game/nouns +37 -0
  182. data/lib/ffaker/data/game/prefixes +17 -0
  183. data/lib/ffaker/data/healthcare_ru/doctor_specialization +127 -0
  184. data/lib/ffaker/data/hipster_ipsum/hipster_words +1 -1
  185. data/lib/ffaker/data/identification_mx/estados_curp +1 -1
  186. data/lib/ffaker/data/jo_jo/first_names +356 -0
  187. data/lib/ffaker/data/jo_jo/full_names +225 -0
  188. data/lib/ffaker/data/jo_jo/last_names +153 -0
  189. data/lib/ffaker/data/jo_jo/stands +149 -0
  190. data/lib/ffaker/data/job/job_adj +1 -1
  191. data/lib/ffaker/data/job/job_noun +1 -1
  192. data/lib/ffaker/data/job/job_prefix +1 -1
  193. data/lib/ffaker/data/job_fr/job_prefixes +1 -1
  194. data/lib/ffaker/data/job_it/job_adj +37 -0
  195. data/lib/ffaker/data/job_it/job_noun +25 -0
  196. data/lib/ffaker/data/job_it/job_prefix +22 -0
  197. data/lib/ffaker/data/locale/language +1 -1
  198. data/lib/ffaker/data/locale/language_code +1 -1
  199. data/lib/ffaker/data/lorem/characters +1 -1
  200. data/lib/ffaker/data/lorem/words +1 -68
  201. data/lib/ffaker/data/lorem_ar/words +1 -1
  202. data/lib/ffaker/data/lorem_br/characters +36 -0
  203. data/lib/ffaker/data/lorem_br/words +183 -0
  204. data/lib/ffaker/data/lorem_cn/words +1 -1
  205. data/lib/ffaker/data/lorem_fr/words +1 -1
  206. data/lib/ffaker/data/lorem_it/words +321 -0
  207. data/lib/ffaker/data/movie/adj_and_adv +1 -1
  208. data/lib/ffaker/data/movie/nouns +3 -3
  209. data/lib/ffaker/data/movie/prefixes +1 -1
  210. data/lib/ffaker/data/name/first_names_female +0 -230
  211. data/lib/ffaker/data/name/first_names_male +0 -37
  212. data/lib/ffaker/data/name/last_names +1 -2
  213. data/lib/ffaker/data/name/pronouns +6 -0
  214. data/lib/ffaker/data/name_ar/first_names_female +1 -1
  215. data/lib/ffaker/data/name_ar/first_names_male +1 -1
  216. data/lib/ffaker/data/name_ar/last_names +1 -1
  217. data/lib/ffaker/data/name_cn/first_names +1 -1
  218. data/lib/ffaker/data/name_cn/last_names +1 -1
  219. data/lib/ffaker/data/name_cs/female_first_names +40 -0
  220. data/lib/ffaker/data/name_cs/female_last_names +50 -0
  221. data/lib/ffaker/data/name_cs/male_first_names +88 -0
  222. data/lib/ffaker/data/name_cs/male_last_names +49 -0
  223. data/lib/ffaker/data/name_cs/prefixes +4 -4
  224. data/lib/ffaker/data/name_de/first_names +1 -1
  225. data/lib/ffaker/data/name_de/last_names +1 -1
  226. data/lib/ffaker/data/name_fr/first_names +1 -1
  227. data/lib/ffaker/data/name_fr/last_names +1 -1
  228. data/lib/ffaker/data/name_ga/first_names_female +1 -1
  229. data/lib/ffaker/data/name_ga/first_names_male +287 -287
  230. data/lib/ffaker/data/name_gr/female_first_names +1 -1
  231. data/lib/ffaker/data/name_gr/female_last_names +1 -1
  232. data/lib/ffaker/data/name_gr/male_first_names +1 -1
  233. data/lib/ffaker/data/name_gr/male_last_names +1 -1
  234. data/lib/ffaker/data/name_in/first_names_female +100 -0
  235. data/lib/ffaker/data/name_in/first_names_male +100 -0
  236. data/lib/ffaker/data/name_in/last_names +100 -0
  237. data/lib/ffaker/data/name_it/first_names +1 -1
  238. data/lib/ffaker/data/name_it/last_names +1 -1
  239. data/lib/ffaker/data/name_ja/first_names +1 -1
  240. data/lib/ffaker/data/name_ja/last_names +1 -1
  241. data/lib/ffaker/data/name_kh/first_names +1 -1
  242. data/lib/ffaker/data/name_kh/nick_names +1 -1
  243. data/lib/ffaker/data/name_kr/first_names +1 -1
  244. data/lib/ffaker/data/name_kr/last_names +1 -1
  245. data/lib/ffaker/data/name_mx/female_first_names +1 -1
  246. data/lib/ffaker/data/name_mx/last_names +1 -1
  247. data/lib/ffaker/data/name_mx/male_first_names +1 -1
  248. data/lib/ffaker/data/name_ph/autochthonous_surnames +1 -1
  249. data/lib/ffaker/data/name_ph/spanish_surnames +1 -1
  250. data/lib/ffaker/data/name_ru/first_names_female +91 -0
  251. data/lib/ffaker/data/name_ru/first_names_male +172 -0
  252. data/lib/ffaker/data/name_ru/last_names_female +100 -0
  253. data/lib/ffaker/data/name_ru/last_names_male +100 -0
  254. data/lib/ffaker/data/name_ru/middle_names_female +65 -0
  255. data/lib/ffaker/data/name_ru/middle_names_male +73 -0
  256. data/lib/ffaker/data/name_se/first_names_female +1 -1
  257. data/lib/ffaker/data/name_se/first_names_male +1 -1
  258. data/lib/ffaker/data/name_se/last_names +1 -1
  259. data/lib/ffaker/data/name_sn/first_names_female +1 -1
  260. data/lib/ffaker/data/name_sn/first_names_male +1 -1
  261. data/lib/ffaker/data/name_sn/last_names +1 -1
  262. data/lib/ffaker/data/name_th/first_names +1 -1
  263. data/lib/ffaker/data/name_th/last_names +1 -1
  264. data/lib/ffaker/data/name_th/nick_names +1 -1
  265. data/lib/ffaker/data/name_tw/first_names +122 -0
  266. data/lib/ffaker/data/name_tw/last_names +100 -0
  267. data/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
  268. data/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
  269. data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
  270. data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
  271. data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
  272. data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
  273. data/lib/ffaker/data/phone_number_nl/area_codes +142 -0
  274. data/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
  275. data/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
  276. data/lib/ffaker/data/phone_number_se/phone_prefix +1 -1
  277. data/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
  278. data/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
  279. data/lib/ffaker/data/product/adj +1 -1
  280. data/lib/ffaker/data/product/b1 +1 -1
  281. data/lib/ffaker/data/product/noun +4 -1
  282. data/lib/ffaker/data/skill/specialty_end +1 -1
  283. data/lib/ffaker/data/skill/specialty_start +1 -1
  284. data/lib/ffaker/data/skill/tech_skills +1 -1
  285. data/lib/ffaker/data/sport_pl/summer +53 -0
  286. data/lib/ffaker/data/sport_pl/winter +14 -0
  287. data/lib/ffaker/data/sport_ru/summer +68 -0
  288. data/lib/ffaker/data/sport_ru/winter +20 -0
  289. data/lib/ffaker/data/sport_us/names +67 -0
  290. data/lib/ffaker/data/vehicle/color_prefixes +25 -0
  291. data/lib/ffaker/data/vehicle/displacements_list +1 -1
  292. data/lib/ffaker/data/vehicle/fuel_types_list +1 -1
  293. data/lib/ffaker/data/vehicle/makes_list +1 -1
  294. data/lib/ffaker/data/vehicle/transmissions_list +1 -1
  295. data/lib/ffaker/data/vehicle/upholstery_list +1 -1
  296. data/lib/ffaker/data/venue/venue_list +1 -1
  297. data/lib/ffaker/date.rb +40 -0
  298. data/lib/ffaker/dizzle_ipsum.rb +1 -3
  299. data/lib/ffaker/education.rb +9 -10
  300. data/lib/ffaker/education_cn.rb +37 -0
  301. data/lib/ffaker/filesystem.rb +18 -8
  302. data/lib/ffaker/food.rb +2 -0
  303. data/lib/ffaker/food_pl.rb +65 -0
  304. data/lib/ffaker/freedom_ipsum.rb +20 -0
  305. data/lib/ffaker/game.rb +33 -0
  306. data/lib/ffaker/gender.rb +1 -1
  307. data/lib/ffaker/gender_br.rb +1 -1
  308. data/lib/ffaker/gender_cn.rb +1 -1
  309. data/lib/ffaker/gender_id.rb +0 -1
  310. data/lib/ffaker/gender_it.rb +17 -0
  311. data/lib/ffaker/gender_ja.rb +18 -0
  312. data/lib/ffaker/gender_jp.rb +11 -0
  313. data/lib/ffaker/gender_kr.rb +1 -1
  314. data/lib/ffaker/gender_pl.rb +19 -0
  315. data/lib/ffaker/gender_ru.rb +22 -0
  316. data/lib/ffaker/geolocation.rb +34 -24
  317. data/lib/ffaker/guid.rb +1 -1
  318. data/lib/ffaker/healthcare_ipsum.rb +1 -3
  319. data/lib/ffaker/healthcare_ru.rb +12 -0
  320. data/lib/ffaker/hipster_ipsum.rb +1 -3
  321. data/lib/ffaker/html_ipsum.rb +10 -4
  322. data/lib/ffaker/identification.rb +5 -2
  323. data/lib/ffaker/identification_br.rb +4 -13
  324. data/lib/ffaker/identification_ec.rb +39 -0
  325. data/lib/ffaker/identification_es.rb +1 -1
  326. data/lib/ffaker/identification_es_cl.rb +7 -6
  327. data/lib/ffaker/identification_es_co.rb +3 -4
  328. data/lib/ffaker/identification_in.rb +15 -0
  329. data/lib/ffaker/identification_it.rb +30 -0
  330. data/lib/ffaker/identification_kr.rb +13 -6
  331. data/lib/ffaker/identification_mx.rb +14 -20
  332. data/lib/ffaker/identification_pl.rb +77 -0
  333. data/lib/ffaker/identification_tw.rb +24 -0
  334. data/lib/ffaker/image.rb +37 -14
  335. data/lib/ffaker/internet.rb +18 -25
  336. data/lib/ffaker/internet_se.rb +8 -10
  337. data/lib/ffaker/jo_jo.rb +24 -0
  338. data/lib/ffaker/job.rb +1 -1
  339. data/lib/ffaker/job_br.rb +1 -1
  340. data/lib/ffaker/job_cn.rb +1 -1
  341. data/lib/ffaker/job_fr.rb +1 -1
  342. data/lib/ffaker/job_it.rb +12 -0
  343. data/lib/ffaker/job_ja.rb +0 -1
  344. data/lib/ffaker/job_kr.rb +1 -1
  345. data/lib/ffaker/job_vn.rb +0 -1
  346. data/lib/ffaker/locale.rb +8 -12
  347. data/lib/ffaker/lorem.rb +6 -7
  348. data/lib/ffaker/lorem_ar.rb +1 -1
  349. data/lib/ffaker/lorem_br.rb +45 -0
  350. data/lib/ffaker/lorem_cn.rb +1 -2
  351. data/lib/ffaker/lorem_fr.rb +1 -1
  352. data/lib/ffaker/lorem_ie.rb +0 -1
  353. data/lib/ffaker/lorem_it.rb +39 -0
  354. data/lib/ffaker/lorem_ja.rb +2 -2
  355. data/lib/ffaker/lorem_kr.rb +1 -1
  356. data/lib/ffaker/lorem_pl.rb +0 -2
  357. data/lib/ffaker/lorem_ru.rb +1 -2
  358. data/lib/ffaker/lorem_ua.rb +3 -5
  359. data/lib/ffaker/movie.rb +8 -5
  360. data/lib/ffaker/music.rb +1 -1
  361. data/lib/ffaker/name.rb +5 -1
  362. data/lib/ffaker/name_ar.rb +0 -1
  363. data/lib/ffaker/name_br.rb +1 -1
  364. data/lib/ffaker/name_cn.rb +1 -1
  365. data/lib/ffaker/name_cs.rb +7 -9
  366. data/lib/ffaker/name_da.rb +2 -4
  367. data/lib/ffaker/name_de.rb +1 -3
  368. data/lib/ffaker/name_es.rb +0 -2
  369. data/lib/ffaker/name_fr.rb +5 -5
  370. data/lib/ffaker/name_ga.rb +1 -1
  371. data/lib/ffaker/name_gr.rb +2 -3
  372. data/lib/ffaker/name_id.rb +0 -1
  373. data/lib/ffaker/name_in.rb +39 -0
  374. data/lib/ffaker/name_it.rb +2 -3
  375. data/lib/ffaker/name_ja.rb +1 -1
  376. data/lib/ffaker/name_kh.rb +2 -0
  377. data/lib/ffaker/name_kr.rb +1 -1
  378. data/lib/ffaker/name_mx.rb +4 -6
  379. data/lib/ffaker/name_nb.rb +1 -3
  380. data/lib/ffaker/name_nl.rb +1 -3
  381. data/lib/ffaker/name_ph.rb +1 -3
  382. data/lib/ffaker/name_pl.rb +2 -3
  383. data/lib/ffaker/name_ru.rb +32 -71
  384. data/lib/ffaker/name_se.rb +1 -3
  385. data/lib/ffaker/name_sn.rb +3 -6
  386. data/lib/ffaker/name_th.rb +1 -1
  387. data/lib/ffaker/name_th_en.rb +2 -2
  388. data/lib/ffaker/name_tw.rb +20 -0
  389. data/lib/ffaker/name_ua.rb +1 -3
  390. data/lib/ffaker/name_vn.rb +1 -1
  391. data/lib/ffaker/nato_alphabet.rb +2 -4
  392. data/lib/ffaker/number.rb +30 -0
  393. data/lib/ffaker/phone_number.rb +1 -1
  394. data/lib/ffaker/phone_number_au.rb +11 -12
  395. data/lib/ffaker/phone_number_br.rb +16 -14
  396. data/lib/ffaker/phone_number_ch.rb +1 -1
  397. data/lib/ffaker/phone_number_cu.rb +18 -27
  398. data/lib/ffaker/phone_number_da.rb +1 -3
  399. data/lib/ffaker/phone_number_de.rb +4 -5
  400. data/lib/ffaker/phone_number_fr.rb +3 -12
  401. data/lib/ffaker/phone_number_id.rb +2 -6
  402. data/lib/ffaker/phone_number_it.rb +9 -7
  403. data/lib/ffaker/phone_number_ja.rb +88 -0
  404. data/lib/ffaker/phone_number_kr.rb +1 -1
  405. data/lib/ffaker/phone_number_mx.rb +1 -2
  406. data/lib/ffaker/phone_number_nl.rb +9 -12
  407. data/lib/ffaker/phone_number_pl.rb +68 -0
  408. data/lib/ffaker/phone_number_ru.rb +120 -0
  409. data/lib/ffaker/phone_number_se.rb +1 -1
  410. data/lib/ffaker/phone_number_sg.rb +1 -1
  411. data/lib/ffaker/phone_number_sn.rb +12 -19
  412. data/lib/ffaker/phone_number_tw.rb +49 -0
  413. data/lib/ffaker/phone_number_ua.rb +42 -0
  414. data/lib/ffaker/product.rb +10 -12
  415. data/lib/ffaker/sem_ver.rb +19 -0
  416. data/lib/ffaker/skill.rb +2 -2
  417. data/lib/ffaker/sport.rb +4 -0
  418. data/lib/ffaker/sport_pl.rb +25 -0
  419. data/lib/ffaker/sport_ru.rb +25 -0
  420. data/lib/ffaker/sport_us.rb +12 -0
  421. data/lib/ffaker/ssn.rb +5 -5
  422. data/lib/ffaker/ssn_mx.rb +1 -2
  423. data/lib/ffaker/ssn_se.rb +16 -44
  424. data/lib/ffaker/string.rb +18 -17
  425. data/lib/ffaker/time.rb +12 -11
  426. data/lib/ffaker/tweet.rb +4 -4
  427. data/lib/ffaker/unit.rb +10 -11
  428. data/lib/ffaker/unit_english.rb +19 -22
  429. data/lib/ffaker/unit_metric.rb +16 -19
  430. data/lib/ffaker/utils/array_utils.rb +8 -5
  431. data/lib/ffaker/utils/module_utils.rb +27 -6
  432. data/lib/ffaker/utils/random_utils.rb +4 -0
  433. data/lib/ffaker/utils/unique_utils.rb +32 -21
  434. data/lib/ffaker/vehicle.rb +67 -9
  435. data/lib/ffaker/venue.rb +1 -1
  436. data/lib/ffaker/version.rb +5 -0
  437. data/lib/ffaker/youtube.rb +1 -1
  438. data/lib/ffaker.rb +74 -164
  439. data/scripts/benchmark.rb +12 -11
  440. data/scripts/profiling.rb +3 -1
  441. data/scripts/reference.rb +26 -24
  442. data/test/helper.rb +41 -6
  443. data/test/test_address.rb +2 -2
  444. data/test/test_address_au.rb +7 -8
  445. data/test/test_address_br.rb +17 -4
  446. data/test/test_address_ca.rb +2 -2
  447. data/test/test_address_ch.rb +2 -2
  448. data/test/test_address_ch_de.rb +2 -2
  449. data/test/test_address_ch_fr.rb +2 -2
  450. data/test/test_address_ch_it.rb +2 -2
  451. data/test/test_address_da.rb +5 -5
  452. data/test/test_address_de.rb +2 -2
  453. data/test/test_address_fi.rb +4 -5
  454. data/test/test_address_fr.rb +3 -4
  455. data/test/test_address_gr.rb +2 -2
  456. data/test/test_address_id.rb +2 -3
  457. data/test/test_address_in.rb +2 -2
  458. data/test/test_address_it.rb +12 -0
  459. data/test/test_address_ja.rb +2 -3
  460. data/test/test_address_kr.rb +1 -2
  461. data/test/test_address_mx.rb +2 -3
  462. data/test/test_address_nl.rb +3 -3
  463. data/test/test_address_pl.rb +1 -2
  464. data/test/test_address_ru.rb +2 -2
  465. data/test/test_address_se.rb +4 -4
  466. data/test/test_address_sn.rb +2 -5
  467. data/test/test_address_ua.rb +2 -2
  468. data/test/test_address_uk.rb +2 -2
  469. data/test/test_address_us.rb +11 -2
  470. data/test/test_airline.rb +2 -2
  471. data/test/test_animal.rb +2 -2
  472. data/test/test_animal_br.rb +17 -0
  473. data/test/test_animal_cn.rb +17 -0
  474. data/test/test_animal_es.rb +17 -0
  475. data/test/test_animal_pl.rb +17 -0
  476. data/test/test_animal_us.rb +17 -0
  477. data/test/test_array_utils.rb +3 -3
  478. data/test/test_avatar.rb +35 -10
  479. data/test/test_aws.rb +3 -3
  480. data/test/test_bacon_ipsum.rb +2 -2
  481. data/test/test_bank.rb +53 -0
  482. data/test/test_bank_us.rb +35 -0
  483. data/test/test_book.rb +35 -6
  484. data/test/test_boolean.rb +3 -3
  485. data/test/test_cheesy_lingo.rb +4 -2
  486. data/test/test_code.rb +23 -3
  487. data/test/test_color.rb +2 -2
  488. data/test/test_color_pl.rb +13 -0
  489. data/test/test_color_ua.rb +2 -2
  490. data/test/test_company.rb +4 -4
  491. data/test/test_company_cn.rb +2 -2
  492. data/test/test_company_fr.rb +33 -0
  493. data/test/test_company_it.rb +2 -2
  494. data/test/test_company_ja.rb +28 -0
  495. data/test/test_company_se.rb +2 -2
  496. data/test/test_conference.rb +2 -2
  497. data/test/test_course_mathematiques.rb +3 -1
  498. data/test/test_course_philosophie.rb +3 -1
  499. data/test/test_crypto.rb +15 -0
  500. data/test/test_currency.rb +2 -2
  501. data/test/test_date.rb +47 -0
  502. data/test/test_dizzle_ipsum.rb +2 -2
  503. data/test/test_education.rb +2 -2
  504. data/test/test_education_cn.rb +29 -0
  505. data/test/{test_faker.rb → test_ffaker.rb} +7 -3
  506. data/test/test_filesystem.rb +39 -5
  507. data/test/test_food.rb +3 -3
  508. data/test/test_food_pl.rb +61 -0
  509. data/test/test_freedom_ipsum.rb +21 -0
  510. data/test/test_game.rb +28 -0
  511. data/test/test_gender.rb +3 -3
  512. data/test/test_gender_br.rb +2 -2
  513. data/test/test_gender_cn.rb +2 -2
  514. data/test/test_gender_id.rb +1 -2
  515. data/test/test_gender_it.rb +27 -0
  516. data/test/test_gender_ja.rb +27 -0
  517. data/test/test_gender_jp.rb +27 -0
  518. data/test/test_gender_kr.rb +2 -2
  519. data/test/test_gender_pl.rb +27 -0
  520. data/test/test_gender_ru.rb +23 -0
  521. data/test/test_geolocation.rb +4 -4
  522. data/test/test_guid.rb +2 -2
  523. data/test/test_healthcare_ipsum.rb +3 -1
  524. data/test/test_healthcare_ru.rb +19 -0
  525. data/test/test_hipster_ipsum.rb +2 -2
  526. data/test/test_html_ipsum.rb +20 -14
  527. data/test/test_identification.rb +14 -4
  528. data/test/test_identification_br.rb +2 -2
  529. data/test/test_identification_co.rb +5 -3
  530. data/test/test_identification_ec.rb +33 -0
  531. data/test/test_identification_es.rb +2 -2
  532. data/test/test_identification_es_cl.rb +3 -3
  533. data/test/test_identification_es_mx.rb +5 -4
  534. data/test/test_identification_in.rb +20 -0
  535. data/test/test_identification_it.rb +45 -0
  536. data/test/test_identification_kr.rb +5 -5
  537. data/test/test_identification_pl.rb +28 -0
  538. data/test/test_identification_tw.rb +17 -0
  539. data/test/test_image.rb +56 -10
  540. data/test/test_internet.rb +18 -16
  541. data/test/test_internet_se.rb +12 -9
  542. data/test/test_jo_jo.rb +29 -0
  543. data/test/test_job.rb +2 -2
  544. data/test/test_job_br.rb +2 -2
  545. data/test/test_job_cn.rb +3 -3
  546. data/test/test_job_fr.rb +2 -2
  547. data/test/test_job_it.rb +17 -0
  548. data/test/test_job_ja.rb +3 -3
  549. data/test/test_job_kr.rb +3 -3
  550. data/test/test_job_vn.rb +2 -3
  551. data/test/test_locale.rb +2 -2
  552. data/test/test_lorem.rb +6 -2
  553. data/test/test_lorem_ar.rb +3 -4
  554. data/test/test_lorem_br.rb +62 -0
  555. data/test/test_lorem_cn.rb +11 -11
  556. data/test/test_lorem_fr.rb +14 -12
  557. data/test/test_lorem_ie.rb +1 -2
  558. data/test/test_lorem_it.rb +51 -0
  559. data/test/test_lorem_ja.rb +5 -5
  560. data/test/test_lorem_kr.rb +2 -2
  561. data/test/test_lorem_pl.rb +2 -3
  562. data/test/test_lorem_ru.rb +3 -4
  563. data/test/test_lorem_ua.rb +4 -4
  564. data/test/test_module_utils.rb +35 -2
  565. data/test/test_movie.rb +2 -2
  566. data/test/test_music.rb +6 -6
  567. data/test/test_name.rb +7 -3
  568. data/test/test_name_ar.rb +1 -2
  569. data/test/test_name_br.rb +2 -2
  570. data/test/test_name_cn.rb +2 -2
  571. data/test/test_name_cs.rb +3 -4
  572. data/test/test_name_da.rb +5 -5
  573. data/test/test_name_de.rb +2 -2
  574. data/test/test_name_es.rb +1 -2
  575. data/test/test_name_fr.rb +2 -3
  576. data/test/test_name_ga.rb +2 -2
  577. data/test/test_name_gr.rb +2 -2
  578. data/test/test_name_id.rb +1 -2
  579. data/test/test_name_it.rb +2 -3
  580. data/test/test_name_ja.rb +2 -2
  581. data/test/test_name_kh.rb +10 -8
  582. data/test/test_name_kr.rb +2 -2
  583. data/test/test_name_mx.rb +2 -3
  584. data/test/test_name_nb.rb +2 -2
  585. data/test/test_name_nl.rb +2 -2
  586. data/test/test_name_ph.rb +2 -2
  587. data/test/test_name_pl.rb +1 -2
  588. data/test/test_name_ru.rb +38 -48
  589. data/test/test_name_se.rb +2 -2
  590. data/test/test_name_sn.rb +2 -3
  591. data/test/test_name_th.rb +2 -2
  592. data/test/test_name_th_en.rb +2 -2
  593. data/test/test_name_tw.rb +28 -0
  594. data/test/test_name_ua.rb +3 -3
  595. data/test/test_name_vn.rb +2 -2
  596. data/test/test_nato_alphabet.rb +2 -2
  597. data/test/test_number.rb +57 -0
  598. data/test/test_phone_number.rb +3 -3
  599. data/test/test_phone_number_au.rb +5 -6
  600. data/test/test_phone_number_br.rb +12 -5
  601. data/test/test_phone_number_cu.rb +5 -12
  602. data/test/test_phone_number_da.rb +2 -3
  603. data/test/test_phone_number_de.rb +2 -3
  604. data/test/test_phone_number_fr.rb +1 -2
  605. data/test/test_phone_number_id.rb +1 -2
  606. data/test/test_phone_number_it.rb +12 -0
  607. data/test/test_phone_number_ja.rb +63 -0
  608. data/test/test_phone_number_kr.rb +2 -2
  609. data/test/test_phone_number_mx.rb +2 -3
  610. data/test/test_phone_number_nl.rb +3 -4
  611. data/test/test_phone_number_pl.rb +56 -0
  612. data/test/test_phone_number_ru.rb +76 -0
  613. data/test/test_phone_number_se.rb +4 -4
  614. data/test/test_phone_number_sg.rb +10 -10
  615. data/test/test_phone_number_sn.rb +4 -5
  616. data/test/test_phone_number_tw.rb +42 -0
  617. data/test/test_phone_number_ua.rb +38 -0
  618. data/test/test_products.rb +2 -2
  619. data/test/test_sem_ver.rb +18 -0
  620. data/test/test_skill.rb +2 -2
  621. data/test/test_sport_pl.rb +30 -0
  622. data/test/test_sport_ru.rb +30 -0
  623. data/test/test_sport_us.rb +17 -0
  624. data/test/test_sports.rb +2 -2
  625. data/test/test_ssn.rb +2 -2
  626. data/test/test_ssn_mx.rb +2 -3
  627. data/test/test_ssn_se.rb +10 -12
  628. data/test/test_string.rb +8 -8
  629. data/test/test_time.rb +14 -8
  630. data/test/test_tweet.rb +11 -11
  631. data/test/test_unique_utils.rb +31 -7
  632. data/test/test_units.rb +9 -9
  633. data/test/test_units_english.rb +17 -18
  634. data/test/test_units_metric.rb +17 -18
  635. data/test/test_vehicle.rb +32 -5
  636. data/test/test_venue.rb +2 -2
  637. data/test/test_youtube.rb +2 -2
  638. metadata +211 -198
  639. data/lib/ffaker/data/address_jp/city +0 -127
  640. data/lib/ffaker/data/address_jp/designated_city +0 -20
  641. data/lib/ffaker/data/address_jp/street +0 -37
  642. data/lib/ffaker/data/address_jp/tokyo_ward +0 -23
  643. data/lib/ffaker/data/address_jp/village +0 -183
  644. data/lib/ffaker/data/address_jp/ward +0 -188
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestPhoneNumberSG < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -17,36 +17,36 @@ class TestPhoneNumberSG < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  def test_voip_number
20
- assert_match(/3\d{3}\s\d{4}/, @tester.voip_number)
20
+ assert_match(/\A3\d{3}\s\d{4}\z/, @tester.voip_number)
21
21
  end
22
22
 
23
23
  def test_fixed_line_number
24
- assert_match(/6\d{3}\s\d{4}/, @tester.fixed_line_number)
24
+ assert_match(/\A6\d{3}\s\d{4}\z/, @tester.fixed_line_number)
25
25
  end
26
26
 
27
27
  def test_mobile_number
28
- assert_match(/8\d{3}\s\d{4}/, @tester.mobile_number)
28
+ assert_match(/\A8\d{3}\s\d{4}\z/, @tester.mobile_number)
29
29
  end
30
30
 
31
31
  def test_mobile_or_pager_number
32
- assert_match(/9\d{3}\s\d{4}/, @tester.mobile_or_pager_number)
32
+ assert_match(/\A9\d{3}\s\d{4}\z/, @tester.mobile_or_pager_number)
33
33
  end
34
34
 
35
35
  def test_international_toll_free_number
36
- assert_match(/800\s\d{3}\s\d{4}/, @tester.international_toll_free_number)
36
+ assert_match(/\A800\s\d{3}\s\d{4}\z/, @tester.international_toll_free_number)
37
37
  end
38
38
 
39
39
  def test_toll_free_number
40
- assert_match(/1800\s\d{3}\s\d{4}/, @tester.toll_free_number)
40
+ assert_match(/\A1800\s\d{3}\s\d{4}\z/, @tester.toll_free_number)
41
41
  end
42
42
 
43
43
  def test_premium_service_number
44
- assert_match(/1900\s\d{3}\s\d{4}/, @tester.premium_service_number)
44
+ assert_match(/\A1900\s\d{3}\s\d{4}\z/, @tester.premium_service_number)
45
45
  end
46
46
 
47
47
  def test_phone_number
48
48
  10.times do
49
- assert_match(/[6,8,9]\d{3}\s\d{4}/, @tester.phone_number)
49
+ assert_match(/\A[689]\d{3}\s\d{4}\z/, @tester.phone_number)
50
50
  end
51
51
  end
52
52
  end
@@ -1,8 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
- # Author: xarala<pathe.sene@xarala.sn> http://www.xarala.sn
6
5
  class TestPhoneNumberSN < Test::Unit::TestCase
7
6
  include DeterministicHelper
8
7
 
@@ -17,11 +16,11 @@ class TestPhoneNumberSN < Test::Unit::TestCase
17
16
  end
18
17
 
19
18
  def test_mobile_phone_prefix
20
- assert FFaker::PhoneNumberSN::MobileOperatorsPrefix.include?(@tester.mobile_phone_prefix)
19
+ assert FFaker::PhoneNumberSN::MOBILE_OPERATORS_PREFIX.include?(@tester.mobile_phone_prefix)
21
20
  end
22
21
 
23
22
  def test_homework_phone_prefix
24
- assert FFaker::PhoneNumberSN::HomeWorkOperatorsPrefix.include?(@tester.homework_phone_prefix)
23
+ assert FFaker::PhoneNumberSN::HOME_WORK_OPERATORS_PREFIX.include?(@tester.homework_phone_prefix)
25
24
  end
26
25
 
27
26
  def test_short_phone_number
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestPhoneNumberTW < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::PhoneNumberTW,
10
+ :mobile_phone_number, :home_work_phone_number, :phone_number,
11
+ :international_mobile_phone_number, :international_home_work_phone_number,
12
+ :international_phone_number
13
+ )
14
+
15
+ def setup
16
+ @tester = FFaker::PhoneNumberTW
17
+ end
18
+
19
+ def test_mobile_phone_number
20
+ assert_match(/09\d{2}-\d{3}-\d{3}/, @tester.mobile_phone_number)
21
+ end
22
+
23
+ def test_home_work_phone_number
24
+ assert_match(/\(0\d\) \d{3,4}-\d{4}/, @tester.home_work_phone_number)
25
+ end
26
+
27
+ def test_phone_number
28
+ 10.times do
29
+ assert_match(/\(*0\d{1,3}\)*[\s-]\d{3,4}-\d{3,4}/, @tester.phone_number)
30
+ end
31
+ end
32
+
33
+ def test_international_mobile_phone_number
34
+ assert_match(/\+886-9\d{2}-\d{3}-\d{3}/,
35
+ @tester.international_mobile_phone_number)
36
+ end
37
+
38
+ def test_international_home_work_phone_number
39
+ assert_match(/\+886-\d{1}-\d{3,4}-\d{4}/,
40
+ @tester.international_home_work_phone_number)
41
+ end
42
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestPhoneNumberUA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::PhoneNumberUA,
10
+ :phone_number, :home_phone_number, :mobile_phone_number,
11
+ :international_home_phone_number, :international_mobile_phone_number
12
+ )
13
+
14
+ def setup
15
+ @tester = FFaker::PhoneNumberUA
16
+ end
17
+
18
+ def test_phone_number
19
+ assert_match(/^(\+(380)\s|0)[0-9]{2}\s[0-9]{3}-[0-9]{4}$/, @tester.phone_number)
20
+ end
21
+
22
+ def test_home_phone_number
23
+ assert_match(/^0{1}[0-9]{2}\s[0-9]{3}-[0-9]{4}$/, @tester.home_phone_number)
24
+ end
25
+
26
+ def test_mobile_phone_number
27
+ assert_match(/^0{1}[0-9]{2}\s[0-9]{3}-[0-9]{4}$/, @tester.mobile_phone_number)
28
+ end
29
+
30
+ def test_international_home_phone_number
31
+ assert_match(/^\+(380)\s[0-9]{2}\s[0-9]{3}-[0-9]{4}$/, @tester.international_home_phone_number)
32
+ end
33
+
34
+ def international_mobile_phone_number
35
+ assert_match(/^\+(380)\s[0-9]{2}\s[0-9]{3}-[0-9]{4}$/,
36
+ @tester.international_mobile_phone_number)
37
+ end
38
+ end
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestProducts < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestSemVer < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::SemVer, :next)
9
+
10
+ def setup
11
+ @tester = FFaker::SemVer
12
+ end
13
+
14
+ def test_next
15
+ assert_includes(%w[0.0.1 0.1.0 1.0.0], @tester.next)
16
+ assert_includes(%w[2.0.0 1.3.0 1.2.4], @tester.next('1.2.3'))
17
+ end
18
+ end
data/test/test_skill.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestSkill < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestSportPL < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::SportPL,
10
+ :name,
11
+ :summer,
12
+ :winter
13
+ )
14
+
15
+ def setup
16
+ @tester = FFaker::SportPL
17
+ end
18
+
19
+ def test_name
20
+ assert_include(@tester::ALL, @tester.name)
21
+ end
22
+
23
+ def test_summer
24
+ assert_include(@tester::SUMMER, @tester.summer)
25
+ end
26
+
27
+ def test_winter
28
+ assert_include(@tester::WINTER, @tester.winter)
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestSportRU < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::SportRU,
10
+ :name,
11
+ :summer,
12
+ :winter
13
+ )
14
+
15
+ def setup
16
+ @tester = FFaker::SportRU
17
+ end
18
+
19
+ def test_name
20
+ assert_include(@tester::ALL, @tester.name)
21
+ end
22
+
23
+ def test_summer
24
+ assert_include(@tester::SUMMER, @tester.summer)
25
+ end
26
+
27
+ def test_winter
28
+ assert_include(@tester::WINTER, @tester.winter)
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestSportUS < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::SportUS, :name)
9
+
10
+ def setup
11
+ @tester = FFaker::SportUS
12
+ end
13
+
14
+ def test_name
15
+ assert_include @tester::NAMES, @tester.name
16
+ end
17
+ end
data/test/test_sports.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestSports < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_ssn.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestSSN < Test::Unit::TestCase
6
6
  include DeterministicHelper
data/test/test_ssn_mx.rb CHANGED
@@ -1,8 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
- # Author Guapolo <github.com/guapolo>
6
5
  class TestSSNMX < Test::Unit::TestCase
7
6
  include DeterministicHelper
8
7
 
data/test/test_ssn_se.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestSSNSE < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -12,16 +12,16 @@ class TestSSNSE < Test::Unit::TestCase
12
12
  assert_match(/(19|20)\d{10}/, ssn, "With no arguments year should start with 19 or 20, #{ssn}")
13
13
  end
14
14
 
15
- def is_equal?(nbr)
16
- nbr % 2
15
+ def equal?(other)
16
+ other % 2
17
17
  end
18
18
 
19
19
  def test_ssn_with_gender
20
20
  ssn_male = FFaker::SSNSE.ssn(gender: :male)
21
- assert is_equal?(ssn_male[10].to_i)
21
+ assert equal?(ssn_male[10].to_i)
22
22
 
23
23
  ssn_female = FFaker::SSNSE.ssn(gender: :female)
24
- assert is_equal?(ssn_female[10].to_i)
24
+ assert equal?(ssn_female[10].to_i)
25
25
 
26
26
  assert_raise ArgumentError do
27
27
  FFaker::SSNSE.ssn(gender: :unkown)
@@ -29,17 +29,15 @@ class TestSSNSE < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  def test_ssn_with_from_to
32
- 10.times do
33
- from = Time.local(1980, 2, 28)
34
- to = Time.local(2000, 2, 28)
32
+ from = Time.local(1980, 2, 28)
33
+ to = Time.local(2000, 2, 28)
35
34
 
35
+ assert_random_between(from...to) do
36
36
  ssn = FFaker::SSNSE.ssn(from: from, to: to)
37
37
  year = ssn[0..3].to_i
38
38
  month = ssn[4..5].to_i
39
39
  day = ssn[6..7].to_i
40
- ssn_birth_date = Time.local(year, month, day)
41
- assert ssn_birth_date < to
42
- assert ssn_birth_date >= from
40
+ Time.local(year, month, day)
43
41
  end
44
42
  end
45
43
  end
data/test/test_string.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestString < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -30,11 +30,11 @@ class TestString < Test::Unit::TestCase
30
30
  def test_dash_character
31
31
  assert_match(/\A[a-z-]\z/, FS.from_regexp(/[a-z-]/))
32
32
  assert_match(/\A[a-]\z/, FS.from_regexp(/[a-]/))
33
- assert_match(/\A[-]\z/, FS.from_regexp(/[-]/))
33
+ assert_match(/\A-\z/, FS.from_regexp(/-/))
34
34
 
35
35
  assert_deterministic { FS.from_regexp(/[a-z-]/) }
36
36
  assert_deterministic { FS.from_regexp(/[a-]/) }
37
- assert_deterministic { FS.from_regexp(/[-]/) }
37
+ assert_deterministic { FS.from_regexp(/-/) }
38
38
  end
39
39
 
40
40
  def test_spaces
@@ -43,8 +43,8 @@ class TestString < Test::Unit::TestCase
43
43
  end
44
44
 
45
45
  def test_escaped_characters
46
- assert_equal '\\/.()[]{}', FS.from_regexp(/\\\/\.\(\)\[\]\{\}/)
47
- assert_deterministic { FS.from_regexp(%r|\\\/\.\(\)\[\]\{\}|) }
46
+ assert_equal '\\/.()[]{}', FS.from_regexp(%r{\\/\.\(\)\[\]\{\}})
47
+ assert_deterministic { FS.from_regexp(%r|\\/\.\(\)\[\]\{\}|) }
48
48
  end
49
49
 
50
50
  def test_atom_sets
@@ -53,8 +53,8 @@ class TestString < Test::Unit::TestCase
53
53
  end
54
54
 
55
55
  def test_special_sets
56
- assert_match(/\A[\w\d]\z/, FS.from_regexp(/[\w\d]/))
57
- assert_deterministic { FS.from_regexp(/[\w\d]/) }
56
+ assert_match(/\A[\s\d]\z/, FS.from_regexp(/[\s\d]/))
57
+ assert_deterministic { FS.from_regexp(/[\s\d]/) }
58
58
  end
59
59
 
60
60
  def test_atom_question
data/test/test_time.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
  require 'date'
5
5
 
6
6
  class TestFakerTime < Test::Unit::TestCase
@@ -40,6 +40,17 @@ class TestFakerTime < Test::Unit::TestCase
40
40
  assert_deterministic { @tester.datetime(hours: 4, minutes: 20) }
41
41
  end
42
42
 
43
+ def test_datetime_year_range_and_year_latest
44
+ current_year = ::DateTime.now.year
45
+ [[0, 0], [1, 1], [2, 4], [8, 6]].each do |year_range, year_latest|
46
+ assert_random_between(
47
+ (current_year - year_range - year_latest)..(current_year - year_latest)
48
+ ) do
49
+ @tester.datetime(year_range: year_range, year_latest: year_latest).year
50
+ end
51
+ end
52
+ end
53
+
43
54
  def test_month
44
55
  month_regex = /\A(?:January|February|March|April|May|June|July|August|September|October|November|December)\z/
45
56
  assert_match(month_regex, @tester.month)
@@ -49,12 +60,7 @@ class TestFakerTime < Test::Unit::TestCase
49
60
  from = Time.local(2015, 1, 1)
50
61
  to = Time.local(2016, 1, 1)
51
62
 
52
- 100.times do
53
- random_date = @tester.between(from, to)
54
- assert random_date >= from, "Expected >= \"#{from}\", but got #{random_date}"
55
- assert random_date <= to, "Expected <= \"#{to}\", but got #{random_date}"
56
- assert_deterministic { @tester.between(from, to) }
57
- end
63
+ assert_random_between(from..to) { @tester.between(from, to) }
58
64
  end
59
65
 
60
66
  def test_between_for_string
data/test/test_tweet.rb CHANGED
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestTweet < Test::Unit::TestCase
6
6
  include DeterministicHelper
@@ -20,40 +20,40 @@ class TestTweet < Test::Unit::TestCase
20
20
  end
21
21
 
22
22
  def test_mention
23
- assert_match(/\@\S*/, FFaker::Tweet.mention)
23
+ assert_match(/@\S*/, FFaker::Tweet.mention)
24
24
  end
25
25
 
26
26
  def test_mentions_three
27
- assert_match(/\@\S*\s\@\S*\s\@\S*/, FFaker::Tweet.mentions(3))
27
+ assert_match(/@\S*\s@\S*\s@\S*/, FFaker::Tweet.mentions(3))
28
28
  assert_deterministic { FFaker::Tweet.mentions(3) }
29
29
  end
30
30
 
31
31
  def test_body
32
- assert(FFaker::Tweet.body.size <= 140)
32
+ assert_less_than_or_equal_to FFaker::Tweet.body.size, 140
33
33
  end
34
34
 
35
35
  def test_shortish_body
36
- assert(FFaker::Tweet.body(20).size <= 20)
36
+ assert_less_than_or_equal_to FFaker::Tweet.body(20).size, 20
37
37
  end
38
38
 
39
39
  def test_short_body
40
- assert(FFaker::Tweet.body(2).size.between?(2, 20))
40
+ assert_between(FFaker::Tweet.body(2).size, 2..20)
41
41
  end
42
42
 
43
43
  def test_tweet
44
- 100.times { assert(FFaker::Tweet.tweet.size <= 140) }
44
+ assert_random_less_than_or_equal_to(140) { FFaker::Tweet.tweet.size }
45
45
  end
46
46
 
47
47
  def test_tweet_with_reply
48
- assert_match(/^\@/, FFaker::Tweet.tweet(reply: true))
48
+ assert_match(/^@/, FFaker::Tweet.tweet(reply: true))
49
49
  assert_deterministic { FFaker::Tweet.tweet(reply: true) }
50
50
  end
51
51
 
52
52
  def test_oversize_body_length
53
- assert(FFaker::Tweet.tweet(body_length: 200).size <= 140)
53
+ assert_less_than_or_equal_to FFaker::Tweet.tweet(body_length: 200).size, 140
54
54
  end
55
55
 
56
56
  def test_undersize_body_length
57
- assert(FFaker::Tweet.tweet(body_length: 2).size <= 140)
57
+ assert_less_than_or_equal_to FFaker::Tweet.tweet(body_length: 2).size, 140
58
58
  end
59
59
  end
@@ -1,6 +1,6 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
4
 
5
5
  class TestUniqueUtils < Test::Unit::TestCase
6
6
  def test_generates_unique_values
@@ -39,16 +39,40 @@ class TestUniqueUtils < Test::Unit::TestCase
39
39
  unique_object.test
40
40
  end
41
41
 
42
- FFaker::UniqueUtils.clear
42
+ unique_object.clear
43
43
 
44
44
  assert_equal(1, unique_object.test)
45
+ end
45
46
 
46
- assert_raises FFaker::UniqueUtils::RetryLimitExceeded do
47
- unique_object.test
47
+ def test_clears_all_unique_values
48
+ stubbed_generator = Object.new
49
+ def stubbed_generator.test
50
+ 1
51
+ end
52
+ other_stubbed_generator = Object.new
53
+ def other_stubbed_generator.test
54
+ 1
48
55
  end
49
56
 
50
- unique_object.clear
57
+ unique_object = FFaker::UniqueUtils.add_instance(stubbed_generator, 3)
58
+ other_unique_object = FFaker::UniqueUtils.add_instance(other_stubbed_generator, 3)
51
59
 
52
- assert_equal(1, unique_object.test)
60
+ [unique_object, other_unique_object].each do |tested_unique_object|
61
+ assert_equal(1, tested_unique_object.test)
62
+
63
+ assert_raises FFaker::UniqueUtils::RetryLimitExceeded do
64
+ tested_unique_object.test
65
+ end
66
+ end
67
+
68
+ FFaker::UniqueUtils.clear
69
+
70
+ [unique_object, other_unique_object].each do |tested_unique_object|
71
+ assert_equal(1, tested_unique_object.test)
72
+ end
73
+ end
74
+
75
+ def test_generates_unique_numbers
76
+ assert_nothing_raised { FFaker::Number.unique.number(digits: 1) }
53
77
  end
54
78
  end
data/test/test_units.rb CHANGED
@@ -1,8 +1,8 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- require 'helper'
3
+ require_relative 'helper'
4
+ require 'ostruct'
4
5
 
5
- # Author: lurraca github.com/lurraca
6
6
  class TestUnits < Test::Unit::TestCase
7
7
  include DeterministicHelper
8
8
 
@@ -13,25 +13,25 @@ class TestUnits < Test::Unit::TestCase
13
13
 
14
14
  def setup
15
15
  @tester = FFaker::Unit
16
- @time_units = @tester::TIME_UNITS.map { |u| OpenStruct.new u }
17
- @temperature_units = @tester::TEMPERATURE_UNITS.map { |u| OpenStruct.new u }
16
+ @time_units = @tester::TIME_UNITS
17
+ @temperature_units = @tester::TEMPERATURE_UNITS
18
18
  end
19
19
 
20
20
  def test_time_name
21
- assert_include @time_units.map(&:name), @tester.time_name
21
+ assert_include @time_units.map { |unit| unit[:name] }, @tester.time_name
22
22
  end
23
23
 
24
24
  def test_time_abbr
25
- assert_include @time_units.map(&:abbreviation), @tester.time_abbr
25
+ assert_include @time_units.map { |unit| unit[:abbreviation] }, @tester.time_abbr
26
26
  end
27
27
 
28
28
  def test_temperature_name
29
- assert_include @temperature_units.map(&:name), @tester.temperature_name
29
+ assert_include @temperature_units.map { |unit| unit[:name] }, @tester.temperature_name
30
30
  end
31
31
 
32
32
  def test_temperature_abbr
33
33
  assert_include \
34
- @temperature_units.map(&:abbreviation),
34
+ @temperature_units.map { |unit| unit[:abbreviation] },
35
35
  @tester.temperature_abbr
36
36
  end
37
37
  end