ffakerTW 0.1.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 (773) hide show
  1. checksums.yaml +7 -0
  2. data/Changelog.md +7 -0
  3. data/Gemfile +8 -0
  4. data/LICENSE +17 -0
  5. data/RANDOM.md +153 -0
  6. data/README.md +31 -0
  7. data/REFERENCE.md +2709 -0
  8. data/Rakefile +152 -0
  9. data/ffakerTW.gemspec +65 -0
  10. data/lib/ffakerTW/address.rb +115 -0
  11. data/lib/ffakerTW/address_au.rb +120 -0
  12. data/lib/ffakerTW/address_br.rb +57 -0
  13. data/lib/ffakerTW/address_ca.rb +32 -0
  14. data/lib/ffakerTW/address_ch.rb +18 -0
  15. data/lib/ffakerTW/address_ch_de.rb +14 -0
  16. data/lib/ffakerTW/address_ch_fr.rb +14 -0
  17. data/lib/ffakerTW/address_ch_it.rb +14 -0
  18. data/lib/ffakerTW/address_da.rb +49 -0
  19. data/lib/ffakerTW/address_de.rb +42 -0
  20. data/lib/ffakerTW/address_fi.rb +44 -0
  21. data/lib/ffakerTW/address_fr.rb +40 -0
  22. data/lib/ffakerTW/address_gr.rb +38 -0
  23. data/lib/ffakerTW/address_id.rb +36 -0
  24. data/lib/ffakerTW/address_in.rb +56 -0
  25. data/lib/ffakerTW/address_it.rb +36 -0
  26. data/lib/ffakerTW/address_ja.rb +83 -0
  27. data/lib/ffakerTW/address_kr.rb +87 -0
  28. data/lib/ffakerTW/address_mx.rb +31 -0
  29. data/lib/ffakerTW/address_nl.rb +43 -0
  30. data/lib/ffakerTW/address_pl.rb +83 -0
  31. data/lib/ffakerTW/address_ru.rb +37 -0
  32. data/lib/ffakerTW/address_se.rb +44 -0
  33. data/lib/ffakerTW/address_sn.rb +22 -0
  34. data/lib/ffakerTW/address_ua.rb +56 -0
  35. data/lib/ffakerTW/address_uk.rb +25 -0
  36. data/lib/ffakerTW/address_us.rb +58 -0
  37. data/lib/ffakerTW/airline.rb +16 -0
  38. data/lib/ffakerTW/animal.rb +14 -0
  39. data/lib/ffakerTW/animal_br.rb +12 -0
  40. data/lib/ffakerTW/animal_cn.rb +12 -0
  41. data/lib/ffakerTW/animal_es.rb +12 -0
  42. data/lib/ffakerTW/animal_pl.rb +15 -0
  43. data/lib/ffakerTW/animal_tw.rb +12 -0
  44. data/lib/ffakerTW/animal_us.rb +12 -0
  45. data/lib/ffakerTW/avatar.rb +36 -0
  46. data/lib/ffakerTW/aws.rb +24 -0
  47. data/lib/ffakerTW/bacon_ipsum.rb +19 -0
  48. data/lib/ffakerTW/bank.rb +118 -0
  49. data/lib/ffakerTW/book.rb +56 -0
  50. data/lib/ffakerTW/boolean.rb +18 -0
  51. data/lib/ffakerTW/cheesy_lingo.rb +39 -0
  52. data/lib/ffakerTW/code.rb +37 -0
  53. data/lib/ffakerTW/color.rb +66 -0
  54. data/lib/ffakerTW/color_pl.rb +14 -0
  55. data/lib/ffakerTW/color_ua.rb +12 -0
  56. data/lib/ffakerTW/company.rb +44 -0
  57. data/lib/ffakerTW/company_cn.rb +23 -0
  58. data/lib/ffakerTW/company_fr.rb +35 -0
  59. data/lib/ffakerTW/company_it.rb +45 -0
  60. data/lib/ffakerTW/company_ja.rb +24 -0
  61. data/lib/ffakerTW/company_se.rb +23 -0
  62. data/lib/ffakerTW/company_tw.rb +23 -0
  63. data/lib/ffakerTW/conference.rb +12 -0
  64. data/lib/ffakerTW/courses_fr.rb +23 -0
  65. data/lib/ffakerTW/currency.rb +20 -0
  66. data/lib/ffakerTW/data/address/city_suffixes +19 -0
  67. data/lib/ffakerTW/data/address/country +249 -0
  68. data/lib/ffakerTW/data/address/country_code +249 -0
  69. data/lib/ffakerTW/data/address/neighborhood +49 -0
  70. data/lib/ffakerTW/data/address/street_suffix +195 -0
  71. data/lib/ffakerTW/data/address/time_zone +130 -0
  72. data/lib/ffakerTW/data/address_br/city +299 -0
  73. data/lib/ffakerTW/data/address_br/complement +3 -0
  74. data/lib/ffakerTW/data/address_br/neighborhood_prefixes +3 -0
  75. data/lib/ffakerTW/data/address_br/state +27 -0
  76. data/lib/ffakerTW/data/address_br/state_abbr +27 -0
  77. data/lib/ffakerTW/data/address_ca/city +181 -0
  78. data/lib/ffakerTW/data/address_ca/province +13 -0
  79. data/lib/ffakerTW/data/address_ch/canton_abbr +26 -0
  80. data/lib/ffakerTW/data/address_chde/canton +26 -0
  81. data/lib/ffakerTW/data/address_chfr/canton +26 -0
  82. data/lib/ffakerTW/data/address_chit/canton +26 -0
  83. data/lib/ffakerTW/data/address_da/city +592 -0
  84. data/lib/ffakerTW/data/address_da/kommune +88 -0
  85. data/lib/ffakerTW/data/address_da/street +657 -0
  86. data/lib/ffakerTW/data/address_de/city +1666 -0
  87. data/lib/ffakerTW/data/address_de/state +15 -0
  88. data/lib/ffakerTW/data/address_fi/city +107 -0
  89. data/lib/ffakerTW/data/address_fi/countries +96 -0
  90. data/lib/ffakerTW/data/address_fi/street +140 -0
  91. data/lib/ffakerTW/data/address_fr/city +261 -0
  92. data/lib/ffakerTW/data/address_fr/region +27 -0
  93. data/lib/ffakerTW/data/address_gr/city +79 -0
  94. data/lib/ffakerTW/data/address_gr/region +13 -0
  95. data/lib/ffakerTW/data/address_gr/street +100 -0
  96. data/lib/ffakerTW/data/address_id/city +102 -0
  97. data/lib/ffakerTW/data/address_id/common_street_names +170 -0
  98. data/lib/ffakerTW/data/address_id/state +33 -0
  99. data/lib/ffakerTW/data/address_id/state_abbr +33 -0
  100. data/lib/ffakerTW/data/address_in/city +24 -0
  101. data/lib/ffakerTW/data/address_in/state +29 -0
  102. data/lib/ffakerTW/data/address_in/state_abbr +29 -0
  103. data/lib/ffakerTW/data/address_in/union_territory +7 -0
  104. data/lib/ffakerTW/data/address_in/union_territory_abbr +7 -0
  105. data/lib/ffakerTW/data/address_it/city +111 -0
  106. data/lib/ffakerTW/data/address_it/region +20 -0
  107. data/lib/ffakerTW/data/address_ja/city +791 -0
  108. data/lib/ffakerTW/data/address_ja/county +98 -0
  109. data/lib/ffakerTW/data/address_ja/designated_city +20 -0
  110. data/lib/ffakerTW/data/address_ja/prefecture +47 -0
  111. data/lib/ffakerTW/data/address_ja/street +37 -0
  112. data/lib/ffakerTW/data/address_ja/tokyo_ward +23 -0
  113. data/lib/ffakerTW/data/address_ja/village +183 -0
  114. data/lib/ffakerTW/data/address_ja/ward +188 -0
  115. data/lib/ffakerTW/data/address_kr/boroughs +29 -0
  116. data/lib/ffakerTW/data/address_kr/cities +51 -0
  117. data/lib/ffakerTW/data/address_mx/ags +11 -0
  118. data/lib/ffakerTW/data/address_mx/bc +5 -0
  119. data/lib/ffakerTW/data/address_mx/bcs +5 -0
  120. data/lib/ffakerTW/data/address_mx/camp +11 -0
  121. data/lib/ffakerTW/data/address_mx/chih +67 -0
  122. data/lib/ffakerTW/data/address_mx/chis +118 -0
  123. data/lib/ffakerTW/data/address_mx/coah +38 -0
  124. data/lib/ffakerTW/data/address_mx/col +10 -0
  125. data/lib/ffakerTW/data/address_mx/df +16 -0
  126. data/lib/ffakerTW/data/address_mx/dgo +39 -0
  127. data/lib/ffakerTW/data/address_mx/gro +81 -0
  128. data/lib/ffakerTW/data/address_mx/gto +46 -0
  129. data/lib/ffakerTW/data/address_mx/hgo +84 -0
  130. data/lib/ffakerTW/data/address_mx/jal +125 -0
  131. data/lib/ffakerTW/data/address_mx/mex +125 -0
  132. data/lib/ffakerTW/data/address_mx/mich +113 -0
  133. data/lib/ffakerTW/data/address_mx/mor +33 -0
  134. data/lib/ffakerTW/data/address_mx/nay +20 -0
  135. data/lib/ffakerTW/data/address_mx/nl +51 -0
  136. data/lib/ffakerTW/data/address_mx/oax +570 -0
  137. data/lib/ffakerTW/data/address_mx/pue +217 -0
  138. data/lib/ffakerTW/data/address_mx/qr +10 -0
  139. data/lib/ffakerTW/data/address_mx/qro +18 -0
  140. data/lib/ffakerTW/data/address_mx/sin +18 -0
  141. data/lib/ffakerTW/data/address_mx/slp +58 -0
  142. data/lib/ffakerTW/data/address_mx/son +72 -0
  143. data/lib/ffakerTW/data/address_mx/state +32 -0
  144. data/lib/ffakerTW/data/address_mx/state_abbr +32 -0
  145. data/lib/ffakerTW/data/address_mx/tab +17 -0
  146. data/lib/ffakerTW/data/address_mx/tamps +43 -0
  147. data/lib/ffakerTW/data/address_mx/tlax +60 -0
  148. data/lib/ffakerTW/data/address_mx/ver +212 -0
  149. data/lib/ffakerTW/data/address_mx/yuc +106 -0
  150. data/lib/ffakerTW/data/address_mx/zac +58 -0
  151. data/lib/ffakerTW/data/address_nl/city +2226 -0
  152. data/lib/ffakerTW/data/address_nl/province +12 -0
  153. data/lib/ffakerTW/data/address_pl/city +916 -0
  154. data/lib/ffakerTW/data/address_pl/square +390 -0
  155. data/lib/ffakerTW/data/address_pl/street +390 -0
  156. data/lib/ffakerTW/data/address_pl/voivodeship +16 -0
  157. data/lib/ffakerTW/data/address_pl/voivodeship_abbr +16 -0
  158. data/lib/ffakerTW/data/address_pl/voivodeship_capital_city +18 -0
  159. data/lib/ffakerTW/data/address_ru/city +74 -0
  160. data/lib/ffakerTW/data/address_ru/province +83 -0
  161. data/lib/ffakerTW/data/address_ru/street +49 -0
  162. data/lib/ffakerTW/data/address_se/city +154 -0
  163. data/lib/ffakerTW/data/address_se/countries +250 -0
  164. data/lib/ffakerTW/data/address_se/street +2887 -0
  165. data/lib/ffakerTW/data/address_sn/arrondissements +47 -0
  166. data/lib/ffakerTW/data/address_sn/departements +43 -0
  167. data/lib/ffakerTW/data/address_sn/regions +14 -0
  168. data/lib/ffakerTW/data/address_ua/city +57 -0
  169. data/lib/ffakerTW/data/address_ua/country +193 -0
  170. data/lib/ffakerTW/data/address_ua/province +27 -0
  171. data/lib/ffakerTW/data/address_ua/street +13 -0
  172. data/lib/ffakerTW/data/address_uk/county +70 -0
  173. data/lib/ffakerTW/data/address_us/state +50 -0
  174. data/lib/ffakerTW/data/address_us/state_abbr +50 -0
  175. data/lib/ffakerTW/data/address_us/state_and_territories_abbr +62 -0
  176. data/lib/ffakerTW/data/airline/codes_list +209 -0
  177. data/lib/ffakerTW/data/airline/names_list +206 -0
  178. data/lib/ffakerTW/data/animal/common_names +141 -0
  179. data/lib/ffakerTW/data/animal_br/common_names +423 -0
  180. data/lib/ffakerTW/data/animal_cn/common_names +141 -0
  181. data/lib/ffakerTW/data/animal_es/common_names +135 -0
  182. data/lib/ffakerTW/data/animal_pl/common_names +256 -0
  183. data/lib/ffakerTW/data/animal_tw/common_names +141 -0
  184. data/lib/ffakerTW/data/animal_us/common_names +141 -0
  185. data/lib/ffakerTW/data/aws/ec2_instance_type +59 -0
  186. data/lib/ffakerTW/data/aws/ec2_reserved_instance_tenancy +3 -0
  187. data/lib/ffakerTW/data/aws/ec2_reserved_offering_type +6 -0
  188. data/lib/ffakerTW/data/aws/ec2_reserved_product_description +14 -0
  189. data/lib/ffakerTW/data/bacon_ipsum/bacon_words +62 -0
  190. data/lib/ffakerTW/data/bank/card_types +12 -0
  191. data/lib/ffakerTW/data/book/adj_and_adv +20 -0
  192. data/lib/ffakerTW/data/book/genres +369 -0
  193. data/lib/ffakerTW/data/book/nouns +36 -0
  194. data/lib/ffakerTW/data/book/prefixes +17 -0
  195. data/lib/ffakerTW/data/cheesy_lingo/cheesy_phrases +54 -0
  196. data/lib/ffakerTW/data/cheesy_lingo/cheesy_words +34 -0
  197. data/lib/ffakerTW/data/color/names_list +147 -0
  198. data/lib/ffakerTW/data/color_pl/names_list +122 -0
  199. data/lib/ffakerTW/data/color_ua/names_list +114 -0
  200. data/lib/ffakerTW/data/company/bs_mid +65 -0
  201. data/lib/ffakerTW/data/company/bs_pos +44 -0
  202. data/lib/ffakerTW/data/company/bs_pre +60 -0
  203. data/lib/ffakerTW/data/company/catch_mid +101 -0
  204. data/lib/ffakerTW/data/company/catch_pos +104 -0
  205. data/lib/ffakerTW/data/company/catch_pre +100 -0
  206. data/lib/ffakerTW/data/company/position_areas +11 -0
  207. data/lib/ffakerTW/data/company_it/piva_office_codes +99 -0
  208. data/lib/ffakerTW/data/conference/conference_list +40 -0
  209. data/lib/ffakerTW/data/currency/currency_code +169 -0
  210. data/lib/ffakerTW/data/currency/currency_name +169 -0
  211. data/lib/ffakerTW/data/currency/currency_symbol +8 -0
  212. data/lib/ffakerTW/data/dizzle_ipsum/dizzle_words +69 -0
  213. data/lib/ffakerTW/data/education/degree_prefix +274 -0
  214. data/lib/ffakerTW/data/education/degree_short_prefix +19 -0
  215. data/lib/ffakerTW/data/education/major_noun +13 -0
  216. data/lib/ffakerTW/data/education/school_suffix +13 -0
  217. data/lib/ffakerTW/data/education_cn/city +351 -0
  218. data/lib/ffakerTW/data/education_cn/major +506 -0
  219. data/lib/ffakerTW/data/education_cn/province +31 -0
  220. data/lib/ffakerTW/data/education_cn/school_type +27 -0
  221. data/lib/ffakerTW/data/education_tw/city +20 -0
  222. data/lib/ffakerTW/data/education_tw/major +506 -0
  223. data/lib/ffakerTW/data/education_tw/school_type +27 -0
  224. data/lib/ffakerTW/data/filesystem/extension +32 -0
  225. data/lib/ffakerTW/data/filesystem/mime_type +67 -0
  226. data/lib/ffakerTW/data/food/fruit +82 -0
  227. data/lib/ffakerTW/data/food/herb_spice +64 -0
  228. data/lib/ffakerTW/data/food/meat +48 -0
  229. data/lib/ffakerTW/data/food/vegetable +207 -0
  230. data/lib/ffakerTW/data/food_pl/diary +14 -0
  231. data/lib/ffakerTW/data/food_pl/fermented +13 -0
  232. data/lib/ffakerTW/data/food_pl/fruits +34 -0
  233. data/lib/ffakerTW/data/food_pl/herbs +20 -0
  234. data/lib/ffakerTW/data/food_pl/meats +9 -0
  235. data/lib/ffakerTW/data/food_pl/preserves +10 -0
  236. data/lib/ffakerTW/data/food_pl/spices +26 -0
  237. data/lib/ffakerTW/data/food_pl/vegetables +45 -0
  238. data/lib/ffakerTW/data/freedom_ipsum/freedom_words +161 -0
  239. data/lib/ffakerTW/data/game/adj_and_adv +18 -0
  240. data/lib/ffakerTW/data/game/category +84 -0
  241. data/lib/ffakerTW/data/game/mechanic +182 -0
  242. data/lib/ffakerTW/data/game/nouns +37 -0
  243. data/lib/ffakerTW/data/game/prefixes +17 -0
  244. data/lib/ffakerTW/data/healthcare_ipsum/healthcare_words +193 -0
  245. data/lib/ffakerTW/data/healthcare_ru/doctor_specialization +127 -0
  246. data/lib/ffakerTW/data/hipster_ipsum/hipster_words +101 -0
  247. data/lib/ffakerTW/data/identification_mx/estados_curp +33 -0
  248. data/lib/ffakerTW/data/job/job_adj +37 -0
  249. data/lib/ffakerTW/data/job/job_noun +25 -0
  250. data/lib/ffakerTW/data/job/job_prefix +22 -0
  251. data/lib/ffakerTW/data/job_br/job_nouns +52 -0
  252. data/lib/ffakerTW/data/job_cn/job_nouns +300 -0
  253. data/lib/ffakerTW/data/job_fr/job_nouns +14 -0
  254. data/lib/ffakerTW/data/job_fr/job_prefixes +15 -0
  255. data/lib/ffakerTW/data/job_it/job_adj +37 -0
  256. data/lib/ffakerTW/data/job_it/job_noun +25 -0
  257. data/lib/ffakerTW/data/job_it/job_prefix +22 -0
  258. data/lib/ffakerTW/data/job_ja/job_nouns +235 -0
  259. data/lib/ffakerTW/data/job_kr/job_nouns +1209 -0
  260. data/lib/ffakerTW/data/job_tw/job_nouns +300 -0
  261. data/lib/ffakerTW/data/job_vn/job_nouns +191 -0
  262. data/lib/ffakerTW/data/locale/language +136 -0
  263. data/lib/ffakerTW/data/locale/language_code +136 -0
  264. data/lib/ffakerTW/data/lorem/characters +36 -0
  265. data/lib/ffakerTW/data/lorem/words +182 -0
  266. data/lib/ffakerTW/data/lorem_ar/words +911 -0
  267. data/lib/ffakerTW/data/lorem_br/characters +36 -0
  268. data/lib/ffakerTW/data/lorem_br/words +183 -0
  269. data/lib/ffakerTW/data/lorem_cn/words +706 -0
  270. data/lib/ffakerTW/data/lorem_fr/words +229 -0
  271. data/lib/ffakerTW/data/lorem_ie/characters +5 -0
  272. data/lib/ffakerTW/data/lorem_ie/paragraphs +2 -0
  273. data/lib/ffakerTW/data/lorem_ie/questions +1 -0
  274. data/lib/ffakerTW/data/lorem_ie/sentences +1 -0
  275. data/lib/ffakerTW/data/lorem_ie/words +107 -0
  276. data/lib/ffakerTW/data/lorem_it/words +321 -0
  277. data/lib/ffakerTW/data/lorem_ja/characters +101 -0
  278. data/lib/ffakerTW/data/lorem_ja/sentences +30 -0
  279. data/lib/ffakerTW/data/lorem_ja/sentences_end +21 -0
  280. data/lib/ffakerTW/data/lorem_ja/words +81 -0
  281. data/lib/ffakerTW/data/lorem_kr/words +47 -0
  282. data/lib/ffakerTW/data/lorem_pl/characters +32 -0
  283. data/lib/ffakerTW/data/lorem_pl/words +245 -0
  284. data/lib/ffakerTW/data/lorem_ru/capital_chars +33 -0
  285. data/lib/ffakerTW/data/lorem_ru/chars +33 -0
  286. data/lib/ffakerTW/data/lorem_ru/words +191 -0
  287. data/lib/ffakerTW/data/lorem_tw/words +706 -0
  288. data/lib/ffakerTW/data/lorem_ua/capital_chars +33 -0
  289. data/lib/ffakerTW/data/lorem_ua/chars +33 -0
  290. data/lib/ffakerTW/data/lorem_ua/words +362 -0
  291. data/lib/ffakerTW/data/mathematiques/lessons +58 -0
  292. data/lib/ffakerTW/data/movie/adj_and_adv +20 -0
  293. data/lib/ffakerTW/data/movie/nouns +36 -0
  294. data/lib/ffakerTW/data/movie/prefixes +17 -0
  295. data/lib/ffakerTW/data/music/albums +91 -0
  296. data/lib/ffakerTW/data/music/artists +100 -0
  297. data/lib/ffakerTW/data/music/genres +20 -0
  298. data/lib/ffakerTW/data/music/songs +100 -0
  299. data/lib/ffakerTW/data/name/first_names_female +4045 -0
  300. data/lib/ffakerTW/data/name/first_names_male +1182 -0
  301. data/lib/ffakerTW/data/name/last_names +474 -0
  302. data/lib/ffakerTW/data/name/pronouns +6 -0
  303. data/lib/ffakerTW/data/name_ar/first_names_female +250 -0
  304. data/lib/ffakerTW/data/name_ar/first_names_male +567 -0
  305. data/lib/ffakerTW/data/name_ar/last_names +357 -0
  306. data/lib/ffakerTW/data/name_br/first_names_female +1068 -0
  307. data/lib/ffakerTW/data/name_br/first_names_male +607 -0
  308. data/lib/ffakerTW/data/name_br/last_names +77 -0
  309. data/lib/ffakerTW/data/name_cn/first_names +1000 -0
  310. data/lib/ffakerTW/data/name_cn/last_names +1057 -0
  311. data/lib/ffakerTW/data/name_cs/female_first_names +40 -0
  312. data/lib/ffakerTW/data/name_cs/female_last_names +50 -0
  313. data/lib/ffakerTW/data/name_cs/male_first_names +88 -0
  314. data/lib/ffakerTW/data/name_cs/male_last_names +49 -0
  315. data/lib/ffakerTW/data/name_cs/prefixes +16 -0
  316. data/lib/ffakerTW/data/name_da/female_first_names +303 -0
  317. data/lib/ffakerTW/data/name_da/last_names +187 -0
  318. data/lib/ffakerTW/data/name_da/male_first_names +301 -0
  319. data/lib/ffakerTW/data/name_de/first_names +1166 -0
  320. data/lib/ffakerTW/data/name_de/last_names +100 -0
  321. data/lib/ffakerTW/data/name_es/first_names_female +184 -0
  322. data/lib/ffakerTW/data/name_es/first_names_male +165 -0
  323. data/lib/ffakerTW/data/name_es/last_names +208 -0
  324. data/lib/ffakerTW/data/name_fr/first_names +220 -0
  325. data/lib/ffakerTW/data/name_fr/last_names +408 -0
  326. data/lib/ffakerTW/data/name_ga/first_names_female +225 -0
  327. data/lib/ffakerTW/data/name_ga/first_names_male +306 -0
  328. data/lib/ffakerTW/data/name_gr/female_first_names +80 -0
  329. data/lib/ffakerTW/data/name_gr/female_last_names +45 -0
  330. data/lib/ffakerTW/data/name_gr/male_first_names +90 -0
  331. data/lib/ffakerTW/data/name_gr/male_last_names +57 -0
  332. data/lib/ffakerTW/data/name_id/first_names_female +267 -0
  333. data/lib/ffakerTW/data/name_id/first_names_male +312 -0
  334. data/lib/ffakerTW/data/name_id/last_names +1669 -0
  335. data/lib/ffakerTW/data/name_in/first_names_female +100 -0
  336. data/lib/ffakerTW/data/name_in/first_names_male +100 -0
  337. data/lib/ffakerTW/data/name_in/last_names +100 -0
  338. data/lib/ffakerTW/data/name_it/first_names +171 -0
  339. data/lib/ffakerTW/data/name_it/last_names +70 -0
  340. data/lib/ffakerTW/data/name_ja/first_names +397 -0
  341. data/lib/ffakerTW/data/name_ja/last_names +1078 -0
  342. data/lib/ffakerTW/data/name_kh/first_names +64 -0
  343. data/lib/ffakerTW/data/name_kh/last_names +71 -0
  344. data/lib/ffakerTW/data/name_kh/nick_names +30 -0
  345. data/lib/ffakerTW/data/name_kr/first_names +1317 -0
  346. data/lib/ffakerTW/data/name_kr/last_names +197 -0
  347. data/lib/ffakerTW/data/name_mx/female_first_names +216 -0
  348. data/lib/ffakerTW/data/name_mx/last_names +352 -0
  349. data/lib/ffakerTW/data/name_mx/male_first_names +211 -0
  350. data/lib/ffakerTW/data/name_nb/first_names_female +50 -0
  351. data/lib/ffakerTW/data/name_nb/first_names_male +50 -0
  352. data/lib/ffakerTW/data/name_nb/last_names +100 -0
  353. data/lib/ffakerTW/data/name_nl/first_names_female +89 -0
  354. data/lib/ffakerTW/data/name_nl/first_names_male +75 -0
  355. data/lib/ffakerTW/data/name_nl/last_names +115 -0
  356. data/lib/ffakerTW/data/name_ph/autochthonous_surnames +217 -0
  357. data/lib/ffakerTW/data/name_ph/spanish_surnames +300 -0
  358. data/lib/ffakerTW/data/name_pl/female_first_names +121 -0
  359. data/lib/ffakerTW/data/name_pl/female_last_names +200 -0
  360. data/lib/ffakerTW/data/name_pl/male_first_names +121 -0
  361. data/lib/ffakerTW/data/name_pl/male_last_names +200 -0
  362. data/lib/ffakerTW/data/name_ru/first_names_female +91 -0
  363. data/lib/ffakerTW/data/name_ru/first_names_male +172 -0
  364. data/lib/ffakerTW/data/name_ru/last_names_female +100 -0
  365. data/lib/ffakerTW/data/name_ru/last_names_male +100 -0
  366. data/lib/ffakerTW/data/name_ru/middle_names_female +65 -0
  367. data/lib/ffakerTW/data/name_ru/middle_names_male +73 -0
  368. data/lib/ffakerTW/data/name_se/first_names_female +110 -0
  369. data/lib/ffakerTW/data/name_se/first_names_male +110 -0
  370. data/lib/ffakerTW/data/name_se/last_names +100 -0
  371. data/lib/ffakerTW/data/name_sn/first_names_female +225 -0
  372. data/lib/ffakerTW/data/name_sn/first_names_male +304 -0
  373. data/lib/ffakerTW/data/name_sn/last_names +243 -0
  374. data/lib/ffakerTW/data/name_th/first_names +360 -0
  375. data/lib/ffakerTW/data/name_th/last_names +15 -0
  376. data/lib/ffakerTW/data/name_th/nick_names +74 -0
  377. data/lib/ffakerTW/data/name_then/first_names +292 -0
  378. data/lib/ffakerTW/data/name_then/last_names +63 -0
  379. data/lib/ffakerTW/data/name_then/nick_names +30 -0
  380. data/lib/ffakerTW/data/name_tw/first_names +122 -0
  381. data/lib/ffakerTW/data/name_tw/last_names +100 -0
  382. data/lib/ffakerTW/data/name_tw/name_tw/first_names +1000 -0
  383. data/lib/ffakerTW/data/name_tw/name_tw/last_names +243 -0
  384. data/lib/ffakerTW/data/name_ua/first_names_female +193 -0
  385. data/lib/ffakerTW/data/name_ua/first_names_male +195 -0
  386. data/lib/ffakerTW/data/name_ua/last_names_female +230 -0
  387. data/lib/ffakerTW/data/name_ua/last_names_male +239 -0
  388. data/lib/ffakerTW/data/name_ua/middle_names_female +116 -0
  389. data/lib/ffakerTW/data/name_ua/middle_names_male +116 -0
  390. data/lib/ffakerTW/data/name_vn/first_names +6 -0
  391. data/lib/ffakerTW/data/name_vn/last_names +67 -0
  392. data/lib/ffakerTW/data/name_vn/middle_names +89 -0
  393. data/lib/ffakerTW/data/nato_alphabet/alphabet_codes +26 -0
  394. data/lib/ffakerTW/data/nato_alphabet/numeric_codes +10 -0
  395. data/lib/ffakerTW/data/philosophie/lessons +17 -0
  396. data/lib/ffakerTW/data/phone_number/phone_calling_code +205 -0
  397. data/lib/ffakerTW/data/phone_number_id/home_phone_prefixes +303 -0
  398. data/lib/ffakerTW/data/phone_number_id/mobile_phone_prefixes +33 -0
  399. data/lib/ffakerTW/data/phone_number_it/home_phone_prefixes +232 -0
  400. data/lib/ffakerTW/data/phone_number_it/mobile_phone_prefixes +18 -0
  401. data/lib/ffakerTW/data/phone_number_ja/four_disit_area_codes +41 -0
  402. data/lib/ffakerTW/data/phone_number_ja/one_disit_area_codes +3 -0
  403. data/lib/ffakerTW/data/phone_number_ja/three_disit_area_codes +296 -0
  404. data/lib/ffakerTW/data/phone_number_ja/two_disit_area_codes +48 -0
  405. data/lib/ffakerTW/data/phone_number_nl/area_codes +142 -0
  406. data/lib/ffakerTW/data/phone_number_ru/home_phone_prefixes +107 -0
  407. data/lib/ffakerTW/data/phone_number_ru/mobile_phone_prefixes +61 -0
  408. data/lib/ffakerTW/data/phone_number_se/phone_prefix +265 -0
  409. data/lib/ffakerTW/data/phone_number_ua/home_phone_prefixes +29 -0
  410. data/lib/ffakerTW/data/phone_number_ua/mobile_phone_prefixes +11 -0
  411. data/lib/ffakerTW/data/product/adj +19 -0
  412. data/lib/ffakerTW/data/product/b1 +19 -0
  413. data/lib/ffakerTW/data/product/noun +19 -0
  414. data/lib/ffakerTW/data/skill/specialty_end +14 -0
  415. data/lib/ffakerTW/data/skill/specialty_start +18 -0
  416. data/lib/ffakerTW/data/skill/tech_skills +52 -0
  417. data/lib/ffakerTW/data/sport/names +67 -0
  418. data/lib/ffakerTW/data/sport_pl/summer +53 -0
  419. data/lib/ffakerTW/data/sport_pl/winter +14 -0
  420. data/lib/ffakerTW/data/sport_ru/summer +68 -0
  421. data/lib/ffakerTW/data/sport_ru/winter +20 -0
  422. data/lib/ffakerTW/data/sport_us/names +67 -0
  423. data/lib/ffakerTW/data/tweet/hashtag +58 -0
  424. data/lib/ffakerTW/data/vehicle/color_prefixes +25 -0
  425. data/lib/ffakerTW/data/vehicle/displacements_list +21 -0
  426. data/lib/ffakerTW/data/vehicle/fuel_types_list +6 -0
  427. data/lib/ffakerTW/data/vehicle/makes_list +73 -0
  428. data/lib/ffakerTW/data/vehicle/models_list +106 -0
  429. data/lib/ffakerTW/data/vehicle/transmissions_list +4 -0
  430. data/lib/ffakerTW/data/vehicle/trims_list +13 -0
  431. data/lib/ffakerTW/data/vehicle/upholstery_list +5 -0
  432. data/lib/ffakerTW/data/venue/venue_list +33 -0
  433. data/lib/ffakerTW/data/youtube/video_ids +50 -0
  434. data/lib/ffakerTW/dizzle_ipsum.rb +19 -0
  435. data/lib/ffakerTW/education.rb +49 -0
  436. data/lib/ffakerTW/education_cn.rb +37 -0
  437. data/lib/ffakerTW/education_tw.rb +37 -0
  438. data/lib/ffakerTW/filesystem.rb +25 -0
  439. data/lib/ffakerTW/food.rb +28 -0
  440. data/lib/ffakerTW/food_pl.rb +65 -0
  441. data/lib/ffakerTW/freedom_ipsum.rb +20 -0
  442. data/lib/ffakerTW/game.rb +33 -0
  443. data/lib/ffakerTW/gender.rb +22 -0
  444. data/lib/ffakerTW/gender_br.rb +17 -0
  445. data/lib/ffakerTW/gender_cn.rb +17 -0
  446. data/lib/ffakerTW/gender_id.rb +17 -0
  447. data/lib/ffakerTW/gender_it.rb +17 -0
  448. data/lib/ffakerTW/gender_ja.rb +18 -0
  449. data/lib/ffakerTW/gender_jp.rb +11 -0
  450. data/lib/ffakerTW/gender_kr.rb +17 -0
  451. data/lib/ffakerTW/gender_pl.rb +19 -0
  452. data/lib/ffakerTW/gender_ru.rb +22 -0
  453. data/lib/ffakerTW/gender_tw.rb +17 -0
  454. data/lib/ffakerTW/geolocation.rb +60 -0
  455. data/lib/ffakerTW/guid.rb +12 -0
  456. data/lib/ffakerTW/healthcare_ipsum.rb +18 -0
  457. data/lib/ffakerTW/healthcare_ru.rb +12 -0
  458. data/lib/ffakerTW/hipster_ipsum.rb +19 -0
  459. data/lib/ffakerTW/html_ipsum.rb +186 -0
  460. data/lib/ffakerTW/identification.rb +30 -0
  461. data/lib/ffakerTW/identification_br.rb +84 -0
  462. data/lib/ffakerTW/identification_es.rb +14 -0
  463. data/lib/ffakerTW/identification_es_cl.rb +29 -0
  464. data/lib/ffakerTW/identification_es_co.rb +39 -0
  465. data/lib/ffakerTW/identification_in.rb +15 -0
  466. data/lib/ffakerTW/identification_it.rb +30 -0
  467. data/lib/ffakerTW/identification_kr.rb +19 -0
  468. data/lib/ffakerTW/identification_mx.rb +58 -0
  469. data/lib/ffakerTW/identification_pl.rb +77 -0
  470. data/lib/ffakerTW/identification_tw.rb +24 -0
  471. data/lib/ffakerTW/image.rb +48 -0
  472. data/lib/ffakerTW/internet.rb +90 -0
  473. data/lib/ffakerTW/internet_se.rb +108 -0
  474. data/lib/ffakerTW/job.rb +12 -0
  475. data/lib/ffakerTW/job_br.rb +12 -0
  476. data/lib/ffakerTW/job_cn.rb +12 -0
  477. data/lib/ffakerTW/job_fr.rb +18 -0
  478. data/lib/ffakerTW/job_it.rb +12 -0
  479. data/lib/ffakerTW/job_ja.rb +12 -0
  480. data/lib/ffakerTW/job_kr.rb +12 -0
  481. data/lib/ffakerTW/job_tw.rb +12 -0
  482. data/lib/ffakerTW/job_vn.rb +12 -0
  483. data/lib/ffakerTW/locale.rb +22 -0
  484. data/lib/ffakerTW/lorem.rb +45 -0
  485. data/lib/ffakerTW/lorem_ar.rb +40 -0
  486. data/lib/ffakerTW/lorem_br.rb +45 -0
  487. data/lib/ffakerTW/lorem_cn.rb +40 -0
  488. data/lib/ffakerTW/lorem_fr.rb +39 -0
  489. data/lib/ffakerTW/lorem_ie.rb +40 -0
  490. data/lib/ffakerTW/lorem_it.rb +39 -0
  491. data/lib/ffakerTW/lorem_ja.rb +40 -0
  492. data/lib/ffakerTW/lorem_kr.rb +36 -0
  493. data/lib/ffakerTW/lorem_pl.rb +60 -0
  494. data/lib/ffakerTW/lorem_ru.rb +57 -0
  495. data/lib/ffakerTW/lorem_tw.rb +40 -0
  496. data/lib/ffakerTW/lorem_ua.rb +54 -0
  497. data/lib/ffakerTW/movie.rb +69 -0
  498. data/lib/ffakerTW/music.rb +24 -0
  499. data/lib/ffakerTW/name.rb +121 -0
  500. data/lib/ffakerTW/name_ar.rb +28 -0
  501. data/lib/ffakerTW/name_br.rb +62 -0
  502. data/lib/ffakerTW/name_cn.rb +24 -0
  503. data/lib/ffakerTW/name_cs.rb +87 -0
  504. data/lib/ffakerTW/name_da.rb +56 -0
  505. data/lib/ffakerTW/name_de.rb +31 -0
  506. data/lib/ffakerTW/name_es.rb +64 -0
  507. data/lib/ffakerTW/name_fr.rb +34 -0
  508. data/lib/ffakerTW/name_ga.rb +39 -0
  509. data/lib/ffakerTW/name_gr.rb +59 -0
  510. data/lib/ffakerTW/name_id.rb +62 -0
  511. data/lib/ffakerTW/name_in.rb +39 -0
  512. data/lib/ffakerTW/name_it.rb +31 -0
  513. data/lib/ffakerTW/name_ja.rb +22 -0
  514. data/lib/ffakerTW/name_kh.rb +24 -0
  515. data/lib/ffakerTW/name_kr.rb +26 -0
  516. data/lib/ffakerTW/name_mx.rb +101 -0
  517. data/lib/ffakerTW/name_nb.rb +44 -0
  518. data/lib/ffakerTW/name_nl.rb +48 -0
  519. data/lib/ffakerTW/name_ph.rb +25 -0
  520. data/lib/ffakerTW/name_pl.rb +98 -0
  521. data/lib/ffakerTW/name_ru.rb +55 -0
  522. data/lib/ffakerTW/name_se.rb +44 -0
  523. data/lib/ffakerTW/name_sn.rb +56 -0
  524. data/lib/ffakerTW/name_th.rb +25 -0
  525. data/lib/ffakerTW/name_th_en.rb +26 -0
  526. data/lib/ffakerTW/name_tw.rb +24 -0
  527. data/lib/ffakerTW/name_ua.rb +57 -0
  528. data/lib/ffakerTW/name_vn.rb +28 -0
  529. data/lib/ffakerTW/nato_alphabet.rb +38 -0
  530. data/lib/ffakerTW/number.rb +26 -0
  531. data/lib/ffakerTW/phone_number.rb +80 -0
  532. data/lib/ffakerTW/phone_number_au.rb +76 -0
  533. data/lib/ffakerTW/phone_number_br.rb +77 -0
  534. data/lib/ffakerTW/phone_number_ch.rb +46 -0
  535. data/lib/ffakerTW/phone_number_cu.rb +122 -0
  536. data/lib/ffakerTW/phone_number_da.rb +43 -0
  537. data/lib/ffakerTW/phone_number_de.rb +50 -0
  538. data/lib/ffakerTW/phone_number_fr.rb +65 -0
  539. data/lib/ffakerTW/phone_number_id.rb +36 -0
  540. data/lib/ffakerTW/phone_number_it.rb +44 -0
  541. data/lib/ffakerTW/phone_number_ja.rb +88 -0
  542. data/lib/ffakerTW/phone_number_kr.rb +50 -0
  543. data/lib/ffakerTW/phone_number_mx.rb +56 -0
  544. data/lib/ffakerTW/phone_number_nl.rb +46 -0
  545. data/lib/ffakerTW/phone_number_pl.rb +68 -0
  546. data/lib/ffakerTW/phone_number_ru.rb +120 -0
  547. data/lib/ffakerTW/phone_number_se.rb +88 -0
  548. data/lib/ffakerTW/phone_number_sg.rb +81 -0
  549. data/lib/ffakerTW/phone_number_sn.rb +71 -0
  550. data/lib/ffakerTW/phone_number_tw.rb +49 -0
  551. data/lib/ffakerTW/phone_number_ua.rb +42 -0
  552. data/lib/ffakerTW/product.rb +47 -0
  553. data/lib/ffakerTW/sem_ver.rb +19 -0
  554. data/lib/ffakerTW/skill.rb +24 -0
  555. data/lib/ffakerTW/sport.rb +14 -0
  556. data/lib/ffakerTW/sport_pl.rb +25 -0
  557. data/lib/ffakerTW/sport_ru.rb +25 -0
  558. data/lib/ffakerTW/sport_us.rb +12 -0
  559. data/lib/ffakerTW/ssn.rb +22 -0
  560. data/lib/ffakerTW/ssn_mx.rb +56 -0
  561. data/lib/ffakerTW/ssn_se.rb +80 -0
  562. data/lib/ffakerTW/string.rb +110 -0
  563. data/lib/ffakerTW/time.rb +65 -0
  564. data/lib/ffakerTW/tweet.rb +59 -0
  565. data/lib/ffakerTW/unit.rb +48 -0
  566. data/lib/ffakerTW/unit_english.rb +107 -0
  567. data/lib/ffakerTW/unit_metric.rb +98 -0
  568. data/lib/ffakerTW/utils/array_utils.rb +53 -0
  569. data/lib/ffakerTW/utils/module_utils.rb +59 -0
  570. data/lib/ffakerTW/utils/random_utils.rb +37 -0
  571. data/lib/ffakerTW/utils/unique_utils.rb +44 -0
  572. data/lib/ffakerTW/vehicle.rb +133 -0
  573. data/lib/ffakerTW/venue.rb +12 -0
  574. data/lib/ffakerTW/version.rb +5 -0
  575. data/lib/ffakerTW/youtube.rb +24 -0
  576. data/lib/ffakerTW.rb +263 -0
  577. data/lib/version.rb +5 -0
  578. data/scripts/benchmark.rb +21 -0
  579. data/scripts/profile.sh +2 -0
  580. data/scripts/profiling.rb +9 -0
  581. data/scripts/reference.rb +96 -0
  582. data/test/helper.rb +89 -0
  583. data/test/test_address.rb +109 -0
  584. data/test/test_address_au.rb +78 -0
  585. data/test/test_address_br.rb +50 -0
  586. data/test/test_address_ca.rb +31 -0
  587. data/test/test_address_ch.rb +17 -0
  588. data/test/test_address_ch_de.rb +13 -0
  589. data/test/test_address_ch_fr.rb +13 -0
  590. data/test/test_address_ch_it.rb +15 -0
  591. data/test/test_address_da.rb +50 -0
  592. data/test/test_address_de.rb +32 -0
  593. data/test/test_address_fi.rb +39 -0
  594. data/test/test_address_fr.rb +12 -0
  595. data/test/test_address_gr.rb +43 -0
  596. data/test/test_address_id.rb +39 -0
  597. data/test/test_address_in.rb +58 -0
  598. data/test/test_address_it.rb +12 -0
  599. data/test/test_address_ja.rb +58 -0
  600. data/test/test_address_kr.rb +14 -0
  601. data/test/test_address_mx.rb +32 -0
  602. data/test/test_address_nl.rb +36 -0
  603. data/test/test_address_pl.rb +80 -0
  604. data/test/test_address_ru.rb +36 -0
  605. data/test/test_address_se.rb +39 -0
  606. data/test/test_address_sn.rb +28 -0
  607. data/test/test_address_ua.rb +57 -0
  608. data/test/test_address_uk.rb +25 -0
  609. data/test/test_address_us.rb +51 -0
  610. data/test/test_airline.rb +17 -0
  611. data/test/test_animal.rb +17 -0
  612. data/test/test_animal_br.rb +17 -0
  613. data/test/test_animal_cn.rb +17 -0
  614. data/test/test_animal_es.rb +17 -0
  615. data/test/test_animal_pl.rb +17 -0
  616. data/test/test_animal_us.rb +17 -0
  617. data/test/test_array_utils.rb +100 -0
  618. data/test/test_avatar.rb +57 -0
  619. data/test/test_aws.rb +25 -0
  620. data/test/test_bacon_ipsum.rb +36 -0
  621. data/test/test_bank.rb +53 -0
  622. data/test/test_book.rb +46 -0
  623. data/test/test_boolean.rb +14 -0
  624. data/test/test_cheesy_lingo.rb +43 -0
  625. data/test/test_code.rb +39 -0
  626. data/test/test_color.rb +134 -0
  627. data/test/test_color_pl.rb +13 -0
  628. data/test/test_color_ua.rb +13 -0
  629. data/test/test_company.rb +32 -0
  630. data/test/test_company_cn.rb +24 -0
  631. data/test/test_company_fr.rb +33 -0
  632. data/test/test_company_it.rb +28 -0
  633. data/test/test_company_ja.rb +28 -0
  634. data/test/test_company_se.rb +20 -0
  635. data/test/test_conference.rb +13 -0
  636. data/test/test_course_mathematiques.rb +17 -0
  637. data/test/test_course_philosophie.rb +17 -0
  638. data/test/test_currency.rb +12 -0
  639. data/test/test_dizzle_ipsum.rb +36 -0
  640. data/test/test_education.rb +41 -0
  641. data/test/test_education_cn.rb +29 -0
  642. data/test/test_ffaker.rb +41 -0
  643. data/test/test_filesystem.rb +36 -0
  644. data/test/test_food.rb +28 -0
  645. data/test/test_food_pl.rb +61 -0
  646. data/test/test_freedom_ipsum.rb +21 -0
  647. data/test/test_game.rb +28 -0
  648. data/test/test_gender.rb +23 -0
  649. data/test/test_gender_br.rb +18 -0
  650. data/test/test_gender_cn.rb +18 -0
  651. data/test/test_gender_id.rb +18 -0
  652. data/test/test_gender_it.rb +27 -0
  653. data/test/test_gender_ja.rb +27 -0
  654. data/test/test_gender_jp.rb +27 -0
  655. data/test/test_gender_kr.rb +28 -0
  656. data/test/test_gender_pl.rb +27 -0
  657. data/test/test_gender_ru.rb +23 -0
  658. data/test/test_geolocation.rb +37 -0
  659. data/test/test_guid.rb +14 -0
  660. data/test/test_healthcare_ipsum.rb +36 -0
  661. data/test/test_healthcare_ru.rb +19 -0
  662. data/test/test_hipster_ipsum.rb +38 -0
  663. data/test/test_html_ipsum.rb +105 -0
  664. data/test/test_identification.rb +35 -0
  665. data/test/test_identification_br.rb +46 -0
  666. data/test/test_identification_co.rb +41 -0
  667. data/test/test_identification_es.rb +17 -0
  668. data/test/test_identification_es_cl.rb +17 -0
  669. data/test/test_identification_es_mx.rb +28 -0
  670. data/test/test_identification_in.rb +20 -0
  671. data/test/test_identification_it.rb +34 -0
  672. data/test/test_identification_kr.rb +17 -0
  673. data/test/test_identification_pl.rb +28 -0
  674. data/test/test_identification_tw.rb +17 -0
  675. data/test/test_image.rb +51 -0
  676. data/test/test_internet.rb +132 -0
  677. data/test/test_internet_se.rb +78 -0
  678. data/test/test_job.rb +17 -0
  679. data/test/test_job_br.rb +17 -0
  680. data/test/test_job_cn.rb +21 -0
  681. data/test/test_job_fr.rb +23 -0
  682. data/test/test_job_it.rb +17 -0
  683. data/test/test_job_ja.rb +21 -0
  684. data/test/test_job_kr.rb +21 -0
  685. data/test/test_job_vn.rb +21 -0
  686. data/test/test_locale.rb +27 -0
  687. data/test/test_lorem.rb +58 -0
  688. data/test/test_lorem_ar.rb +44 -0
  689. data/test/test_lorem_br.rb +62 -0
  690. data/test/test_lorem_cn.rb +54 -0
  691. data/test/test_lorem_fr.rb +48 -0
  692. data/test/test_lorem_ie.rb +52 -0
  693. data/test/test_lorem_it.rb +51 -0
  694. data/test/test_lorem_ja.rb +81 -0
  695. data/test/test_lorem_kr.rb +56 -0
  696. data/test/test_lorem_pl.rb +51 -0
  697. data/test/test_lorem_ru.rb +52 -0
  698. data/test/test_lorem_ua.rb +52 -0
  699. data/test/test_module_utils.rb +14 -0
  700. data/test/test_movie.rb +21 -0
  701. data/test/test_music.rb +28 -0
  702. data/test/test_name.rb +138 -0
  703. data/test/test_name_ar.rb +39 -0
  704. data/test/test_name_br.rb +70 -0
  705. data/test/test_name_cn.rb +28 -0
  706. data/test/test_name_cs.rb +73 -0
  707. data/test/test_name_da.rb +59 -0
  708. data/test/test_name_de.rb +25 -0
  709. data/test/test_name_es.rb +70 -0
  710. data/test/test_name_fr.rb +52 -0
  711. data/test/test_name_ga.rb +61 -0
  712. data/test/test_name_gr.rb +70 -0
  713. data/test/test_name_id.rb +70 -0
  714. data/test/test_name_it.rb +53 -0
  715. data/test/test_name_ja.rb +51 -0
  716. data/test/test_name_kh.rb +34 -0
  717. data/test/test_name_kr.rb +28 -0
  718. data/test/test_name_mx.rb +190 -0
  719. data/test/test_name_nb.rb +43 -0
  720. data/test/test_name_nl.rb +25 -0
  721. data/test/test_name_ph.rb +34 -0
  722. data/test/test_name_pl.rb +111 -0
  723. data/test/test_name_ru.rb +76 -0
  724. data/test/test_name_se.rb +43 -0
  725. data/test/test_name_sn.rb +92 -0
  726. data/test/test_name_th.rb +34 -0
  727. data/test/test_name_th_en.rb +35 -0
  728. data/test/test_name_tw.rb +28 -0
  729. data/test/test_name_ua.rb +68 -0
  730. data/test/test_name_vn.rb +42 -0
  731. data/test/test_nato_alphabet.rb +42 -0
  732. data/test/test_number.rb +45 -0
  733. data/test/test_phone_number.rb +46 -0
  734. data/test/test_phone_number_au.rb +65 -0
  735. data/test/test_phone_number_br.rb +63 -0
  736. data/test/test_phone_number_cu.rb +93 -0
  737. data/test/test_phone_number_da.rb +47 -0
  738. data/test/test_phone_number_de.rb +53 -0
  739. data/test/test_phone_number_fr.rb +57 -0
  740. data/test/test_phone_number_id.rb +57 -0
  741. data/test/test_phone_number_it.rb +12 -0
  742. data/test/test_phone_number_ja.rb +63 -0
  743. data/test/test_phone_number_kr.rb +49 -0
  744. data/test/test_phone_number_mx.rb +50 -0
  745. data/test/test_phone_number_nl.rb +36 -0
  746. data/test/test_phone_number_pl.rb +56 -0
  747. data/test/test_phone_number_ru.rb +76 -0
  748. data/test/test_phone_number_se.rb +65 -0
  749. data/test/test_phone_number_sg.rb +52 -0
  750. data/test/test_phone_number_sn.rb +41 -0
  751. data/test/test_phone_number_tw.rb +42 -0
  752. data/test/test_phone_number_ua.rb +38 -0
  753. data/test/test_products.rb +22 -0
  754. data/test/test_sem_ver.rb +18 -0
  755. data/test/test_skill.rb +30 -0
  756. data/test/test_sport_pl.rb +30 -0
  757. data/test/test_sport_ru.rb +30 -0
  758. data/test/test_sport_us.rb +17 -0
  759. data/test/test_sports.rb +17 -0
  760. data/test/test_ssn.rb +27 -0
  761. data/test/test_ssn_mx.rb +36 -0
  762. data/test/test_ssn_se.rb +43 -0
  763. data/test/test_string.rb +114 -0
  764. data/test/test_time.rb +101 -0
  765. data/test/test_tweet.rb +59 -0
  766. data/test/test_unique_utils.rb +54 -0
  767. data/test/test_units.rb +37 -0
  768. data/test/test_units_english.rb +63 -0
  769. data/test/test_units_metric.rb +63 -0
  770. data/test/test_vehicle.rb +79 -0
  771. data/test/test_venue.rb +13 -0
  772. data/test/test_youtube.rb +28 -0
  773. metadata +1054 -0
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameBR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameBR,
10
+ :name, :name_with_prefix, :first_name, :first_name_female, :first_name_male,
11
+ :last_name, :prefix, :female_prefix, :male_prefix
12
+ )
13
+
14
+ def setup
15
+ @tester = FFakerTW::NameBR
16
+ end
17
+
18
+ def test_name
19
+ assert_match(/\A[a-zA-ZáâãéêíóôúüÂÁÉÊÍÓÔÚç\s]+\z/, @tester.name)
20
+ end
21
+
22
+ def test_name_with_prefix
23
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
24
+ assert_include(@tester::PREFIXES, prefix)
25
+ assert(!name.empty?)
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)
41
+ end
42
+
43
+ def test_first_name
44
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
45
+ end
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
+
55
+ def test_last_name
56
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
57
+ end
58
+
59
+ def test_prefix
60
+ assert_include(@tester::PREFIXES, @tester.prefix)
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
70
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameCN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameCN,
10
+ :name, :first_name, :last_name
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::NameCN
15
+ end
16
+
17
+ def test_name
18
+ assert_match(/\A.{2,}\z/, @tester.name)
19
+ end
20
+
21
+ def test_first_name
22
+ assert_match(/\A.{1,2}\z/, @tester.first_name)
23
+ end
24
+
25
+ def test_last_name
26
+ assert_match(/\A.{1,5}\z/, @tester.last_name)
27
+ end
28
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameCS < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameCS,
10
+ :name, :last_name, :first_name, :prefix, :suffix
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::NameCS
15
+ end
16
+
17
+ def test_name
18
+ @words = @tester.name.split
19
+ assert_include([2, 3, 4], @words.size)
20
+ end
21
+
22
+ def test_name_sex
23
+ @words = @tester.name.split
24
+ @words = @words[1..2] if @words.size > 2
25
+ assert same_sex?(@words)
26
+ end
27
+
28
+ def test_male_last_name
29
+ assert_include(@tester::LAST_NAMES[:male], @tester.last_name(:male))
30
+ end
31
+
32
+ def test_male_first_name
33
+ assert_include(@tester::FIRST_NAMES[:male], @tester.first_name(:male))
34
+ end
35
+
36
+ def test_prefix
37
+ assert_include(@tester::PREFIXES, @tester.prefix)
38
+ end
39
+
40
+ def test_suffix
41
+ assert_include(@tester::SUFFIXES, @tester.suffix)
42
+ end
43
+
44
+ def test_with_same_sex
45
+ names = []
46
+ @tester.with_same_sex do
47
+ names << @tester.last_name
48
+ names << @tester.first_name
49
+ end
50
+ assert same_sex?(names)
51
+ end
52
+
53
+ def test_with_same_sex_for_male
54
+ names = []
55
+ @tester.with_same_sex(:male) do
56
+ names << @tester.last_name
57
+ names << @tester.first_name
58
+ end
59
+ assert same_sex?(names, :male)
60
+ end
61
+
62
+ private
63
+
64
+ def same_sex?(words, sex = :any)
65
+ (sex == :any ? %i[male female] : [sex]).any? do |s|
66
+ words.all? do |word|
67
+ [@tester::LAST_NAMES, @tester::FIRST_NAMES].any? do |names|
68
+ names[s].include?(word)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameDA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameDA,
10
+ :any_name, :male_name, :female_name, :last_name, :prefix
11
+ )
12
+
13
+ RU_REGEX = /[А-Я][а-я]+/.freeze
14
+
15
+ def setup
16
+ @tester = FFakerTW::NameDA
17
+ end
18
+
19
+ def test_name
20
+ assert_raise(ArgumentError, 'Invalid gender, must be one of :any, :male, :female') do
21
+ @tester.name(:hahaha)
22
+ end
23
+ end
24
+
25
+ def test_any_name
26
+ assert_less_than @tester.any_name.count(' '), 3
27
+ end
28
+
29
+ def test_male_name
30
+ regexp = /#{@tester::MALE_FIRST_NAMES.join('|')}/
31
+ assert_less_than @tester.male_name.count(' '), 3
32
+ assert_match(regexp, @tester.male_name)
33
+ end
34
+
35
+ def test_female_name
36
+ regexp = /#{@tester::FEMALE_FIRST_NAMES.join('|')}/
37
+ assert_less_than @tester.female_name.count(' '), 3
38
+ assert_match(regexp, @tester.female_name)
39
+ end
40
+
41
+ def test_first_name
42
+ assert_include @tester::MALE_FIRST_NAMES, @tester.first_name(:male)
43
+ assert_include @tester::FEMALE_FIRST_NAMES, @tester.first_name(:female)
44
+ first_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
45
+ assert_include first_names, @tester.first_name(:any)
46
+ assert_include first_names, @tester.first_name
47
+ assert_raise(ArgumentError, 'Invalid gender, must be one of :any, :male, :female') do
48
+ @tester.first_name(:hahaha)
49
+ end
50
+ end
51
+
52
+ def test_last_name
53
+ assert_match(/\A['a-z]+\z/i, @tester.last_name)
54
+ end
55
+
56
+ def test_prefix
57
+ assert_match(/\A(?:Hr|Fr|Dr|Prof)\.\Z/, @tester.prefix)
58
+ end
59
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameDE < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::NameDE, :name, :prefix, :suffix)
9
+
10
+ def setup
11
+ @tester = FFakerTW::NameDE
12
+ end
13
+
14
+ def test_name
15
+ assert_match(/\A([\w']+\.? ?){2,3}\z/, @tester.name)
16
+ end
17
+
18
+ def test_prefix
19
+ assert_match(/\A[A-Z][a-z]+\.?\z/, @tester.prefix)
20
+ end
21
+
22
+ def test_suffix
23
+ assert_include(@tester::SUFFIXES, @tester.suffix)
24
+ end
25
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameES < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameES,
10
+ :name, :name_with_prefix, :first_name, :first_name_female, :first_name_male,
11
+ :last_name, :prefix, :female_prefix, :male_prefix
12
+ )
13
+
14
+ def setup
15
+ @tester = FFakerTW::NameES
16
+ end
17
+
18
+ def test_name
19
+ assert_match(/\A[a-zA-ZáéíóúñÁÉÍÓÚç\s]+\z/, @tester.name)
20
+ end
21
+
22
+ def test_name_with_prefix
23
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
24
+ assert_include(@tester::PREFIXES, prefix)
25
+ refute_empty(name)
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)
41
+ end
42
+
43
+ def test_first_name
44
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
45
+ end
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
+
55
+ def test_last_name
56
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
57
+ end
58
+
59
+ def test_prefix
60
+ assert_include(@tester::PREFIXES, @tester.prefix)
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
70
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameFR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameFR,
10
+ :first_name, :last_name, :prefix
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::NameFR
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_prefix
26
+ assert_include @tester::PREFIX, @tester.prefix
27
+ end
28
+
29
+ def test_name
30
+ # => split the name into an array of words
31
+ parts = @tester.name.split(' ')
32
+ case parts.count
33
+ when 3
34
+ first_name, prefix, last_name = parts
35
+ # the value at the index 1 should be a valid! prefix
36
+ assert_include @tester::PREFIX, prefix
37
+
38
+ # the value at the index 0 should be a valid! first_name
39
+ assert_include @tester::FIRST_NAMES, first_name
40
+
41
+ # the value at the index 2 should be a valid! last_name
42
+ assert_include @tester::LAST_NAMES, last_name
43
+ when 2
44
+ first_name, last_name = parts
45
+ # the value at the index 0 should be a valid! first_name
46
+ assert_include @tester::FIRST_NAMES, first_name
47
+
48
+ # the value at the index 1 should be a valid! last_name
49
+ assert_include @tester::LAST_NAMES, last_name
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameGa < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameGA,
10
+ :last_name, :first_name_male, :first_name_female, :name_male, :name_female, :name
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::NameGA
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_male
22
+ assert_include @tester::FIRST_NAMES_MALE, @tester.first_name_male
23
+ end
24
+
25
+ def test_first_name_female
26
+ assert_include @tester::FIRST_NAMES_FEMALE, @tester.first_name_female
27
+ end
28
+
29
+ def test_name_male
30
+ # => split the name_male into an array of words
31
+ first_name, last_name = @tester.name_male.split(' ')
32
+
33
+ # the value at the index 0 should be a valid! male_prefix
34
+ assert_include @tester::FIRST_NAMES_MALE, first_name
35
+
36
+ # the value at the index 1 should be a valid! last_name
37
+ assert_include @tester::LAST_NAMES, last_name
38
+ end
39
+
40
+ def test_name_female
41
+ # => split the name_male into an array of words
42
+ first_name, last_name = @tester.name_female.split(' ')
43
+
44
+ # the value at the index 0 should be a valid! male_prefix
45
+ assert_include @tester::FIRST_NAMES_FEMALE, first_name
46
+
47
+ # the value at the index 1 should be a valid! last_name
48
+ assert_include @tester::LAST_NAMES, last_name
49
+ end
50
+
51
+ def test_name
52
+ # => split the name_male into an array of words
53
+ first_name, last_name = @tester.name.split(' ')
54
+
55
+ # the value at the index 0 should be a valid! male_prefix
56
+ assert_include(@tester::FIRST_NAMES_FEMALE + @tester::FIRST_NAMES_MALE, first_name)
57
+
58
+ # the value at the index 1 should be a valid! last_name
59
+ assert_include @tester::LAST_NAMES, last_name
60
+ end
61
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameGR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::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 = FFakerTW::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
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameID < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameID,
10
+ :name, :name_with_prefix, :first_name, :first_name_female, :first_name_male,
11
+ :last_name, :prefix, :female_prefix, :male_prefix
12
+ )
13
+
14
+ def setup
15
+ @tester = FFakerTW::NameID
16
+ end
17
+
18
+ def test_name
19
+ assert_match(/\A[a-zA-Z\s]+\z/, @tester.name)
20
+ end
21
+
22
+ def test_name_with_prefix
23
+ prefix, name, last_name = @tester.name_with_prefix.split(/\s+/)
24
+ assert_include(@tester::PREFIXES, prefix)
25
+ refute_empty(name)
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)
41
+ end
42
+
43
+ def test_first_name
44
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
45
+ end
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
+
55
+ def test_last_name
56
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
57
+ end
58
+
59
+ def test_prefix
60
+ assert_include(@tester::PREFIXES, @tester.prefix)
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
70
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameIT < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::NameIT,
10
+ :prefix, :last_name, :first_name, :name
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::NameIT
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_prefix
26
+ assert_include @tester::PREFIX, @tester.prefix
27
+ end
28
+
29
+ def test_name
30
+ # => split the name into an array of words
31
+ parts = @tester.name.split(' ')
32
+
33
+ case parts.count
34
+ when 3
35
+ prefix, first_name, last_name = parts
36
+ # the value at the index 0 should be a valid! prefix
37
+ assert_include @tester::PREFIX, prefix
38
+
39
+ # the value at the index 1 should be a valid! first_name
40
+ assert_include @tester::FIRST_NAMES, first_name
41
+
42
+ # the value at the index 2 should be a valid! last_name
43
+ assert_include @tester::LAST_NAMES, last_name
44
+ when 2
45
+ first_name, last_name = parts
46
+ # the value at the index 0 should be a valid! first_name
47
+ assert_include @tester::FIRST_NAMES, first_name
48
+
49
+ # the value at the index 1 should be a valid! last_name
50
+ assert_include @tester::LAST_NAMES, last_name
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestFakerNameJA < Test::Unit::TestCase
6
+ class << self
7
+ def startup
8
+ FFakerTW::NameJA.const_set(:FIRST_NAMES, %w[あきら フミ 三郎])
9
+ FFakerTW::NameJA.const_set(:LAST_NAMES, %w[佐藤 高橋 佐々木])
10
+ end
11
+
12
+ def shutdown
13
+ FFakerTW::NameJA.class_eval { remove_const(:FIRST_NAMES) }
14
+ FFakerTW::NameJA.class_eval { remove_const(:LAST_NAMES) }
15
+ end
16
+ end
17
+
18
+ include DeterministicHelper
19
+
20
+ assert_methods_are_deterministic(
21
+ FFakerTW::NameJA,
22
+ :last_name, :first_name, :last_first, :name
23
+ )
24
+
25
+ def setup
26
+ @tester = FFakerTW::NameJA
27
+ end
28
+
29
+ def test_first_name
30
+ assert_include(@tester::FIRST_NAMES, @tester.first_name)
31
+ end
32
+
33
+ def test_last_name
34
+ assert_include(@tester::LAST_NAMES, @tester.last_name)
35
+ end
36
+
37
+ def test_last_first
38
+ assert_last_first(@tester.last_first)
39
+ end
40
+
41
+ def test_name
42
+ assert_last_first(@tester.name)
43
+ end
44
+
45
+ private
46
+
47
+ def assert_last_first(actual)
48
+ last_first_regexp = /(#{@tester::LAST_NAMES.join('|')})(#{@tester::FIRST_NAMES.join('|')})/
49
+ assert_match(last_first_regexp, actual)
50
+ end
51
+ end