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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestAnimalsUS < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::AnimalUS, :common_name)
9
+
10
+ def setup
11
+ @tester = FFakerTW::AnimalUS
12
+ end
13
+
14
+ def test_name
15
+ assert_include @tester::COMMON_NAMES, @tester.common_name
16
+ end
17
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+ require 'set'
5
+
6
+ class TestArrayUtils < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ def setup
10
+ @array = FFakerTW::ArrayUtils.const_array('a'..'c')
11
+ @elems = Set.new('a'..'c')
12
+ end
13
+
14
+ def test_provides_a_way_of_freezing_the_elements_and_itself
15
+ assert @array.respond_to?(:freeze_all)
16
+ @array.freeze_all
17
+ assert @array.frozen?
18
+ @array.each { |e| assert e.frozen? }
19
+ end
20
+
21
+ def test_provides_a_way_of_getting_a_random_element
22
+ set = Set.new
23
+ 1000.times { set << @array.sample }
24
+ assert set == @elems
25
+ end
26
+
27
+ def test_provides_a_way_of_getting_n_random_elements
28
+ assert_equal @array.sample(3).sort, @array.sort
29
+
30
+ 1.upto(3) do |n|
31
+ 1000.times do
32
+ new_arr = @array.sample(n)
33
+ assert_equal n, new_arr.length
34
+ new_arr.each do |e|
35
+ assert @elems.include? e
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ def test_provides_a_way_of_shuffling_the_array
42
+ assert_equal @array.shuffle.sort, @array.sort
43
+
44
+ different_arrangements = 0
45
+
46
+ 1000.times do
47
+ new_arr = @array.shuffle
48
+ assert new_arr.to_set == @elems
49
+ different_arrangements += 1 if new_arr != @array
50
+ end
51
+
52
+ assert different_arrangements.positive?
53
+ end
54
+
55
+ def test_self_random_pick_is_deterministic
56
+ supress_warn_output do
57
+ array = Array.new(10) { rand(0..9) }
58
+ assert_deterministic { FFakerTW::ArrayUtils.random_pick(array, 3) }
59
+ end
60
+ end
61
+
62
+ def test_self_rand_is_deterministic
63
+ supress_warn_output do
64
+ array = Array.new(10) { rand(0..9) }
65
+ assert_deterministic { FFakerTW::ArrayUtils.rand(array) }
66
+ end
67
+ end
68
+
69
+ def test_self_shuffle_is_deterministic
70
+ array = Array.new(10) { rand(0..9) }
71
+ assert_deterministic { FFakerTW::ArrayUtils.shuffle(array) }
72
+ end
73
+
74
+ def test_rand_is_deterministic
75
+ supress_warn_output do
76
+ assert_deterministic { @array.rand }
77
+ end
78
+ end
79
+
80
+ def test_random_pick_is_deterministic
81
+ supress_warn_output do
82
+ assert_deterministic { @array.random_pick(2) }
83
+ end
84
+ end
85
+
86
+ def test_shuffle_is_deterministic
87
+ assert_deterministic { @array.shuffle }
88
+ end
89
+
90
+ private
91
+
92
+ # Supress the deprecation warning that some methods output, so we get less
93
+ # noise in our test run.
94
+ def supress_warn_output
95
+ original_verbosity = $VERBOSE
96
+ $VERBOSE = nil
97
+ yield
98
+ $VERBOSE = original_verbosity
99
+ end
100
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestAvatar < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ ROBOHASH = 'https://robohash.org'
9
+
10
+ assert_methods_are_deterministic(FFakerTW::Avatar, :image)
11
+
12
+ def setup
13
+ @tester = FFakerTW::Avatar
14
+ end
15
+
16
+ def test_avatar
17
+ assert_match(%r{\Ahttps://robohash\.org/.+\.png\?size=300x300\z},
18
+ @tester.image)
19
+ end
20
+
21
+ def test_avatar_with_param
22
+ assert_equal("#{ROBOHASH}/faker.png?size=300x300", @tester.image('faker'))
23
+ end
24
+
25
+ def test_avatar_with_correct_size
26
+ assert_equal("#{ROBOHASH}/faker.png?size=150x320",
27
+ @tester.image('faker', '150x320'))
28
+ end
29
+
30
+ def test_avatar_with_incorrect_size
31
+ assert_raise ArgumentError do
32
+ @tester.image(nil, '150x320z')
33
+ end
34
+ end
35
+
36
+ def test_avatar_with_supported_format
37
+ assert_equal("#{ROBOHASH}/faker.jpg?size=300x300",
38
+ @tester.image('faker', '300x300', 'jpg'))
39
+ end
40
+
41
+ def test_avatar_with_incorrect_format
42
+ assert_raise ArgumentError do
43
+ @tester.image(nil, '300x300', 'wrong_format')
44
+ end
45
+ end
46
+
47
+ def test_avatar_with_correct_background
48
+ assert_equal("#{ROBOHASH}/faker.png?size=300x300&bgset=bg1",
49
+ @tester.image('faker', '300x300', 'png', '1'))
50
+ end
51
+
52
+ def test_avatar_with_incorrect_background
53
+ assert_raise ArgumentError do
54
+ @tester.image('faker', '300x300', 'png', 'not_a_number')
55
+ end
56
+ end
57
+ end
data/test/test_aws.rb ADDED
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestAWS < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::AWS, :instance_type)
9
+
10
+ def test_instance_type
11
+ assert_match(/\A[a-z]+\d\.\d*[a-z]+/, FFakerTW::AWS.instance_type)
12
+ end
13
+
14
+ def test_offering_type
15
+ assert_match(/\A[ a-zA-Z]+\z/i, FFakerTW::AWS.offering_type)
16
+ end
17
+
18
+ def test_instance_tenancy
19
+ assert_match(/\A(?:default|dedicated|host)+\z/i, FFakerTW::AWS.instance_tenancy)
20
+ end
21
+
22
+ def test_product_description
23
+ assert_match(%r{\A[ /a-zA-Z()]+\z}i, FFakerTW::AWS.product_description)
24
+ end
25
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestBaconIpsum < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::BaconIpsum,
10
+ :paragraph, :sentence, :paragraphs, :sentences, :words, :word
11
+ )
12
+
13
+ def test_paragraph
14
+ assert_match(/1\+|[ a-z]+/i, FFakerTW::BaconIpsum.paragraph)
15
+ end
16
+
17
+ def test_sentence
18
+ assert_match(/1\+|[ a-z]+/i, FFakerTW::BaconIpsum.sentence)
19
+ end
20
+
21
+ def test_paragraphs
22
+ assert_match(/1\+|[ a-z]+/i, FFakerTW::BaconIpsum.paragraphs.join(' '))
23
+ end
24
+
25
+ def test_sentences
26
+ assert_match(/1\+|[ a-z]+/i, FFakerTW::BaconIpsum.sentences.join(' '))
27
+ end
28
+
29
+ def test_words
30
+ assert_match(/1\+|[ a-z]+/i, FFakerTW::BaconIpsum.words.join(' '))
31
+ end
32
+
33
+ def test_word
34
+ assert_match(/1\+|[a-z]+/i, FFakerTW::BaconIpsum.word)
35
+ end
36
+ end
data/test/test_bank.rb ADDED
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestBank < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::Bank,
10
+ :iban, :card_number, :card_expiry_date, :card_type
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::Bank
15
+ end
16
+
17
+ def test_iban
18
+ assert_match(/[A-Z]{2}\d+([A-Z]+)?\d+/, @tester.iban)
19
+ assert_match(/[A-Z]{2}\d+([A-Z]+)?\d+/, @tester.iban(country_code: 'by'))
20
+ assert_match(/[A-Z]{2}\d+([A-Z]+)?\d+/, @tester.iban(country_code: 'BY'))
21
+ assert_raise ArgumentError, "Unexpected country code: 'unknown'" do
22
+ @tester.iban(country_code: 'unknown')
23
+ end
24
+ end
25
+
26
+ def test_card_number
27
+ assert_match(/\A(\d{4} ){3}\d{4}\z/, @tester.card_number)
28
+ end
29
+
30
+ def test_card_expiry_date
31
+ assert_instance_of String, @tester.card_expiry_date
32
+
33
+ date_today = ::DateTime.now
34
+
35
+ assert_random_between(
36
+ date_today.strftime('%y')..date_today.next_year(5).strftime('%y')
37
+ ) do
38
+ @tester.card_expiry_date.split('/').pop
39
+ end
40
+
41
+ year_range = 4
42
+ year_latest = 8
43
+ assert_random_between(
44
+ date_today.prev_year(year_latest + year_range).strftime('%y')..date_today.prev_year(year_latest).strftime('%y')
45
+ ) do
46
+ @tester.card_expiry_date(year_range: year_range, year_latest: year_latest).split('/').pop
47
+ end
48
+ end
49
+
50
+ def test_card_type
51
+ assert_include @tester::CARD_TYPES, @tester.card_type
52
+ end
53
+ end
data/test/test_book.rb ADDED
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestBook < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::Book,
10
+ :title, :genre, :author, :isbn, :description, :cover
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::Book
15
+ end
16
+
17
+ def test_title
18
+ assert_match(/[\sa-z]+/, @tester.title)
19
+ end
20
+
21
+ def test_genre
22
+ assert_match(%r{[\w\s'/]+}, @tester.genre)
23
+ end
24
+
25
+ def test_author
26
+ assert_match(/[\sa-z]+/, @tester.author)
27
+ end
28
+
29
+ def test_isbn
30
+ assert_match(/\d+/, @tester.isbn)
31
+ end
32
+
33
+ def test_description
34
+ assert_match(/[\sa-z]+/, @tester.description)
35
+ end
36
+
37
+ def test_cover
38
+ assert_match(%r{\Ahttps://robohash\.org/.+\.png\?size=300x300\z},
39
+ @tester.cover)
40
+ end
41
+
42
+ def test_orly_cover
43
+ assert_match(%r{\Ahttps://orly-appstore\.herokuapp\.com/generate},
44
+ @tester.orly_cover)
45
+ end
46
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestBoolean < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::Boolean, :maybe)
9
+
10
+ def test_maybe
11
+ maybe = FFakerTW::Boolean.maybe
12
+ assert [true, false].include?(maybe)
13
+ end
14
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestCheesyLingo < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ TEST_REGEX = /\+1|[a-z]+/i.freeze
9
+
10
+ assert_methods_are_deterministic(
11
+ FFakerTW::CheesyLingo,
12
+ :title, :word, :words, :sentence, :paragraph
13
+ )
14
+
15
+ def setup
16
+ @tester = FFakerTW::CheesyLingo
17
+ end
18
+
19
+ def test_title
20
+ assert_match(TEST_REGEX, @tester.title)
21
+ end
22
+
23
+ def test_word
24
+ assert_match(TEST_REGEX, @tester.word)
25
+ end
26
+
27
+ def test_words
28
+ assert_match(TEST_REGEX, @tester.words(3).join(' '))
29
+ end
30
+
31
+ def test_sentence
32
+ assert_match(TEST_REGEX, @tester.sentence)
33
+ assert_match(/1\+|[ a-zA-Z]+./, @tester.sentence)
34
+ end
35
+
36
+ def test_paragraph
37
+ assert_match(/\+|[a-zA-Z]*./, @tester.paragraph(1))
38
+ end
39
+
40
+ def test_paragraph_with_arg
41
+ assert_match(/\+1|[a-zA-Z]+./, @tester.paragraph(3))
42
+ end
43
+ end
data/test/test_code.rb ADDED
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestCode < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::Code, :ean, :npi)
9
+
10
+ def test_npi_legacy_regexp
11
+ assert FFakerTW::Code.npi(legacy: true).match(/\A(1|2)[0-9]{9}\z/)
12
+ end
13
+
14
+ def test_npi
15
+ FFakerTW::Random.seed = 523_456_789
16
+ assert FFakerTW::Code.npi == '7411850515'
17
+ end
18
+
19
+ def test_deterministic_npi
20
+ FFakerTW::Random.seed = 42
21
+ v = FFakerTW::Code.npi
22
+ FFakerTW::Random.reset!
23
+ assert v == FFakerTW::Code.npi
24
+ end
25
+
26
+ def test_valid_npi
27
+ FFakerTW::Random.seed = 123_456_789
28
+ assert FFakerTW::Code.npi == '2410167607'
29
+ end
30
+
31
+ def test_ean
32
+ assert FFakerTW::Code.ean.match(/^\d{13}$/)
33
+ end
34
+
35
+ def test_ean_deterministic
36
+ FFakerTW::Random.seed = 10
37
+ assert_equal FFakerTW::Code.ean, '1399378750693'
38
+ end
39
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestColor < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ VALID_RGB_REGEX = /\A([0-9]{1,3})\z/.freeze
9
+ VALID_OPACITY_REGEX = /^([0-9].[0-9]{1,2})$/.freeze
10
+ VALID_PERCENTAGE_REGEX = /^([0-9]{1,3}%)$/.freeze
11
+
12
+ assert_methods_are_deterministic(
13
+ FFakerTW::Color,
14
+ :name, :hex_code, :rgb_array, :rgb_list,
15
+ :rgba_array, :rgba_list, :hsl_array, :hsl_list,
16
+ :hsla_array, :hsla_list
17
+ )
18
+
19
+ def test_name
20
+ assert_match(/\A[a-z]+\z/, FFakerTW::Color.name)
21
+ end
22
+
23
+ def test_hex_code
24
+ assert_match(/\A\h{6}\z/, FFakerTW::Color.hex_code)
25
+ end
26
+
27
+ def test_rgb_array
28
+ fake_array = FFakerTW::Color.rgb_array
29
+
30
+ assert fake_array.size == 3
31
+
32
+ red_value = fake_array[0]
33
+ assert_match VALID_RGB_REGEX, red_value.to_s
34
+ assert red_value.between? 0, 255
35
+
36
+ green_value = fake_array[1]
37
+ assert_match VALID_RGB_REGEX, green_value.to_s
38
+ assert green_value.between? 0, 255
39
+
40
+ blue_value = fake_array[2]
41
+ assert_match VALID_RGB_REGEX, blue_value.to_s
42
+ assert blue_value.between? 0, 255
43
+ end
44
+
45
+ def test_rgb_list
46
+ assert_match(
47
+ /\A([0-9]{1,3},[0-9]{1,3},[0-9]{1,3})\z/,
48
+ FFakerTW::Color.rgb_list
49
+ )
50
+ end
51
+
52
+ def test_rgba_array
53
+ fake_array = FFakerTW::Color.rgba_array
54
+
55
+ assert fake_array.size == 4
56
+
57
+ red_value = fake_array[0]
58
+ assert_match VALID_RGB_REGEX, red_value.to_s
59
+ assert red_value.between? 0, 255
60
+
61
+ green_value = fake_array[1]
62
+ assert_match VALID_RGB_REGEX, green_value.to_s
63
+ assert green_value.between? 0, 255
64
+
65
+ blue_value = fake_array[2]
66
+ assert_match VALID_RGB_REGEX, blue_value.to_s
67
+ assert blue_value.between? 0, 255
68
+
69
+ opacity_value = fake_array[3]
70
+ assert_match VALID_OPACITY_REGEX, opacity_value.to_s
71
+ assert opacity_value.between? 0.0, 1.0
72
+ end
73
+
74
+ def test_rgba_list
75
+ assert_match(
76
+ /^([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}),([0-9].[0-9]{1,2})$/,
77
+ FFakerTW::Color.rgba_list
78
+ )
79
+ end
80
+
81
+ def test_hsl_array
82
+ fake_array = FFakerTW::Color.hsl_array
83
+
84
+ assert fake_array.size == 3
85
+
86
+ hue_value = fake_array[0]
87
+ assert_match VALID_RGB_REGEX, hue_value.to_s
88
+ assert hue_value.between? 0, 360
89
+
90
+ saturation_value = fake_array[1]
91
+ assert_match VALID_PERCENTAGE_REGEX, saturation_value
92
+ assert saturation_value.delete('%').to_i.between? 0, 100
93
+
94
+ lightness_value = fake_array[2]
95
+ assert_match VALID_PERCENTAGE_REGEX, lightness_value
96
+ assert lightness_value.delete('%').to_i.between? 0, 100
97
+ end
98
+
99
+ def test_hsl_list
100
+ assert_match(
101
+ /^([0-9]{1,3},[0-9]{1,3}%,[0-9]{1,3}%)$/,
102
+ FFakerTW::Color.hsl_list
103
+ )
104
+ end
105
+
106
+ def test_hsla_array
107
+ fake_array = FFakerTW::Color.hsla_array
108
+
109
+ assert fake_array.size == 4
110
+
111
+ hue_value = fake_array[0]
112
+ assert_match VALID_RGB_REGEX, hue_value.to_s
113
+ assert hue_value.between? 0, 360
114
+
115
+ saturation_value = fake_array[1]
116
+ assert_match VALID_PERCENTAGE_REGEX, saturation_value
117
+ assert saturation_value.delete('%').to_i.between? 0, 100
118
+
119
+ lightness_value = fake_array[2]
120
+ assert_match VALID_PERCENTAGE_REGEX, lightness_value
121
+ assert lightness_value.delete('%').to_i.between? 0, 100
122
+
123
+ opacity_value = fake_array[3]
124
+ assert_match VALID_OPACITY_REGEX, opacity_value.to_s
125
+ assert opacity_value.between? 0.0, 1.0
126
+ end
127
+
128
+ def test_hsla_list
129
+ assert_match(
130
+ /^([0-9]{1,3},[0-9]{1,3}%,[0-9]{1,3}%,[0-9].[0-9]{1,2})$/,
131
+ FFakerTW::Color.hsla_list
132
+ )
133
+ end
134
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestColorPL < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::ColorPL, :name)
9
+
10
+ def test_name
11
+ assert_match(/\A[a-ząćęłńóśźżé]+\z/, FFakerTW::ColorPL.name)
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestColorUA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFakerTW::ColorUA, :name)
9
+
10
+ def test_name
11
+ assert_match(/\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/, FFakerTW::ColorUA.name)
12
+ end
13
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestCompany < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::Company,
10
+ :bs, :catch_phrase, :name, :suffix
11
+ )
12
+
13
+ def setup
14
+ @tester = FFakerTW::Company
15
+ end
16
+
17
+ def test_bs
18
+ assert_match(%r{\A[ \w'/-]+\z}, @tester.bs)
19
+ end
20
+
21
+ def test_catch_phrase
22
+ assert_match(%r{\A[ \w'/-]+\z}, @tester.catch_phrase)
23
+ end
24
+
25
+ def test_name
26
+ assert_match(/\A[ \w,'-]+\z/, @tester.name)
27
+ end
28
+
29
+ def test_suffix
30
+ assert_include @tester::SUFFIXES, @tester.suffix
31
+ end
32
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestCompanyCN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::CompanyCN,
10
+ :name, :suffix, :type
11
+ )
12
+
13
+ def test_name
14
+ assert_match(/.{4,}公司\z/, FFakerTW::CompanyCN.name)
15
+ end
16
+
17
+ def test_suffix
18
+ assert_match(/公司\z/i, FFakerTW::CompanyCN.suffix)
19
+ end
20
+
21
+ def test_type
22
+ assert_match(/.{2,}/i, FFakerTW::CompanyCN.type)
23
+ end
24
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ class TestCompanyFR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFakerTW::CompanyFR,
10
+ :name, :suffix, :siren, :siret
11
+ )
12
+
13
+ def test_name
14
+ assert_match(/[ a-z]+/, FFakerTW::CompanyFR.name)
15
+ end
16
+
17
+ def test_suffix
18
+ assert_match(/[ a-z]+/i, FFakerTW::CompanyFR.suffix)
19
+ end
20
+
21
+ def test_french_siren_number
22
+ siren = FFakerTW::CompanyFR.siren
23
+ assert(siren.match(/\A\d{9}\z/))
24
+ assert(siren[8] == FFakerTW::CompanyFR.send(:luhn_check, siren[0..-2]).to_s)
25
+ end
26
+
27
+ def test_french_siret_number
28
+ siret = FFakerTW::CompanyFR.siret
29
+ assert(siret.match(/\A\d{14}\z/))
30
+ assert(siret[8] == FFakerTW::CompanyFR.send(:luhn_check, siret[0..7]).to_s)
31
+ assert(siret[13] == FFakerTW::CompanyFR.send(:luhn_check, siret[0..-2]).to_s)
32
+ end
33
+ end