ffaker 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +34 -0
  3. data/README.md +4 -0
  4. data/REFERENCE.md +1153 -800
  5. data/Rakefile +23 -24
  6. data/ffaker.gemspec +12 -420
  7. data/lib/ffaker.rb +47 -7
  8. data/lib/ffaker/address.rb +11 -11
  9. data/lib/ffaker/address_au.rb +60 -60
  10. data/lib/ffaker/address_br.rb +5 -5
  11. data/lib/ffaker/address_ca.rb +7 -7
  12. data/lib/ffaker/address_ch.rb +1 -2
  13. data/lib/ffaker/address_ch_de.rb +1 -1
  14. data/lib/ffaker/address_ch_fr.rb +1 -1
  15. data/lib/ffaker/address_ch_it.rb +1 -1
  16. data/lib/ffaker/address_da.rb +5 -5
  17. data/lib/ffaker/address_de.rb +16 -12
  18. data/lib/ffaker/address_fi.rb +7 -8
  19. data/lib/ffaker/address_fr.rb +13 -13
  20. data/lib/ffaker/address_gr.rb +40 -0
  21. data/lib/ffaker/address_in.rb +12 -12
  22. data/lib/ffaker/address_kr.rb +87 -0
  23. data/lib/ffaker/address_mx.rb +409 -409
  24. data/lib/ffaker/address_nl.rb +17 -13
  25. data/lib/ffaker/address_ru.rb +6 -6
  26. data/lib/ffaker/address_se.rb +7 -8
  27. data/lib/ffaker/address_sn.rb +3 -3
  28. data/lib/ffaker/address_ua.rb +8 -8
  29. data/lib/ffaker/address_uk.rb +5 -5
  30. data/lib/ffaker/address_us.rb +9 -9
  31. data/lib/ffaker/airline.rb +16 -0
  32. data/lib/ffaker/avatar.rb +3 -3
  33. data/lib/ffaker/aws.rb +24 -0
  34. data/lib/ffaker/bacon_ipsum.rb +2 -2
  35. data/lib/ffaker/book.rb +45 -0
  36. data/lib/ffaker/boolean.rb +2 -2
  37. data/lib/ffaker/cheesy_lingo.rb +15 -12
  38. data/lib/ffaker/color.rb +54 -1
  39. data/lib/ffaker/color_ua.rb +1 -1
  40. data/lib/ffaker/company.rb +13 -11
  41. data/lib/ffaker/company_cn.rb +23 -0
  42. data/lib/ffaker/company_it.rb +4 -4
  43. data/lib/ffaker/company_se.rb +2 -2
  44. data/lib/ffaker/conference.rb +1 -1
  45. data/lib/ffaker/courses.rb +2 -3
  46. data/lib/ffaker/currency.rb +2 -2
  47. data/lib/ffaker/data/address_gr/city +79 -0
  48. data/lib/ffaker/data/address_gr/region +13 -0
  49. data/lib/ffaker/data/address_gr/street +100 -0
  50. data/lib/ffaker/data/address_kr/boroughs +29 -0
  51. data/lib/ffaker/data/address_kr/cities +51 -0
  52. data/lib/ffaker/data/airline/codes_list +209 -0
  53. data/lib/ffaker/data/airline/names_list +206 -0
  54. data/lib/ffaker/data/aws/ec2_instance_type +59 -0
  55. data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
  56. data/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
  57. data/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
  58. data/lib/ffaker/data/book/adj_and_adv +20 -0
  59. data/lib/ffaker/data/book/genres +369 -0
  60. data/lib/ffaker/data/book/nouns +36 -0
  61. data/lib/ffaker/data/book/prefixes +17 -0
  62. data/lib/ffaker/data/color/names_list +128 -0
  63. data/lib/ffaker/data/education/degree_prefix +274 -0
  64. data/lib/ffaker/data/education/degree_short_prefix +19 -0
  65. data/lib/ffaker/data/job_br/job_nouns +52 -0
  66. data/lib/ffaker/data/job_vn/job_nouns +191 -0
  67. data/lib/ffaker/data/lorem_ja/characters +101 -0
  68. data/lib/ffaker/data/lorem_ja/sentences +30 -0
  69. data/lib/ffaker/data/lorem_ja/sentences_end +21 -0
  70. data/lib/ffaker/data/lorem_ja/words +81 -0
  71. data/lib/ffaker/data/name/first_names_female +4275 -0
  72. data/lib/ffaker/data/name/first_names_male +1219 -0
  73. data/lib/ffaker/data/name_br/first_names_female +1068 -0
  74. data/lib/ffaker/data/name_br/first_names_male +607 -0
  75. data/lib/ffaker/data/name_br/last_names +52 -0
  76. data/lib/ffaker/data/name_gr/female_first_names +80 -0
  77. data/lib/ffaker/data/name_gr/female_last_names +45 -0
  78. data/lib/ffaker/data/name_gr/male_first_names +90 -0
  79. data/lib/ffaker/data/name_gr/male_last_names +57 -0
  80. data/lib/ffaker/data/name_kh/first_names +64 -0
  81. data/lib/ffaker/data/name_kh/last_names +71 -0
  82. data/lib/ffaker/data/name_kh/nick_names +30 -0
  83. data/lib/ffaker/data/name_then/first_names +292 -0
  84. data/lib/ffaker/data/name_then/last_names +63 -0
  85. data/lib/ffaker/data/name_then/nick_names +30 -0
  86. data/lib/ffaker/data/phone_number/phone_calling_code +205 -0
  87. data/lib/ffaker/data/sport/names +57 -24
  88. data/lib/ffaker/data/tweet/hashtag +58 -0
  89. data/lib/ffaker/data/youtube/video_ids +50 -0
  90. data/lib/ffaker/dizzle_ipsum.rb +2 -2
  91. data/lib/ffaker/education.rb +17 -16
  92. data/lib/ffaker/food.rb +5 -6
  93. data/lib/ffaker/gender.rb +4 -4
  94. data/lib/ffaker/gender_br.rb +17 -0
  95. data/lib/ffaker/gender_cn.rb +4 -4
  96. data/lib/ffaker/gender_kr.rb +4 -4
  97. data/lib/ffaker/geolocation.rb +26 -26
  98. data/lib/ffaker/healthcare_ipsum.rb +2 -2
  99. data/lib/ffaker/hipster_ipsum.rb +2 -2
  100. data/lib/ffaker/html_ipsum.rb +101 -81
  101. data/lib/ffaker/identification.rb +4 -4
  102. data/lib/ffaker/identification_br.rb +84 -0
  103. data/lib/ffaker/identification_es.rb +2 -2
  104. data/lib/ffaker/identification_es_cl.rb +7 -5
  105. data/lib/ffaker/identification_es_co.rb +9 -10
  106. data/lib/ffaker/identification_kr.rb +3 -4
  107. data/lib/ffaker/identification_mx.rb +27 -11
  108. data/lib/ffaker/internet.rb +26 -23
  109. data/lib/ffaker/internet_se.rb +21 -21
  110. data/lib/ffaker/job.rb +1 -1
  111. data/lib/ffaker/job_br.rb +12 -0
  112. data/lib/ffaker/job_cn.rb +1 -1
  113. data/lib/ffaker/job_fr.rb +3 -3
  114. data/lib/ffaker/job_ja.rb +2 -1
  115. data/lib/ffaker/job_kr.rb +1 -1
  116. data/lib/ffaker/job_vn.rb +13 -0
  117. data/lib/ffaker/locale.rb +2 -3
  118. data/lib/ffaker/lorem.rb +5 -5
  119. data/lib/ffaker/lorem_ar.rb +4 -4
  120. data/lib/ffaker/lorem_cn.rb +3 -3
  121. data/lib/ffaker/lorem_fr.rb +4 -4
  122. data/lib/ffaker/lorem_ja.rb +40 -0
  123. data/lib/ffaker/lorem_kr.rb +4 -4
  124. data/lib/ffaker/lorem_ua.rb +8 -11
  125. data/lib/ffaker/movie.rb +18 -20
  126. data/lib/ffaker/music.rb +4 -4
  127. data/lib/ffaker/name.rb +100 -11
  128. data/lib/ffaker/name_br.rb +37 -6
  129. data/lib/ffaker/name_cn.rb +2 -2
  130. data/lib/ffaker/name_cs.rb +10 -10
  131. data/lib/ffaker/name_da.rb +6 -6
  132. data/lib/ffaker/name_de.rb +5 -5
  133. data/lib/ffaker/name_fr.rb +4 -4
  134. data/lib/ffaker/name_ga.rb +4 -5
  135. data/lib/ffaker/name_gr.rb +60 -0
  136. data/lib/ffaker/name_it.rb +4 -4
  137. data/lib/ffaker/name_ja.rb +3 -3
  138. data/lib/ffaker/name_kh.rb +22 -0
  139. data/lib/ffaker/name_kr.rb +3 -3
  140. data/lib/ffaker/name_mx.rb +14 -14
  141. data/lib/ffaker/name_nb.rb +5 -5
  142. data/lib/ffaker/name_nl.rb +7 -7
  143. data/lib/ffaker/name_ph.rb +2 -2
  144. data/lib/ffaker/name_ru.rb +7 -8
  145. data/lib/ffaker/name_se.rb +5 -5
  146. data/lib/ffaker/name_sn.rb +23 -23
  147. data/lib/ffaker/name_th.rb +3 -3
  148. data/lib/ffaker/name_th_en.rb +26 -0
  149. data/lib/ffaker/name_ua.rb +8 -8
  150. data/lib/ffaker/name_vn.rb +4 -4
  151. data/lib/ffaker/nato_alphabet.rb +10 -10
  152. data/lib/ffaker/phone_number.rb +31 -21
  153. data/lib/ffaker/phone_number_au.rb +3 -3
  154. data/lib/ffaker/phone_number_br.rb +9 -8
  155. data/lib/ffaker/phone_number_ch.rb +7 -7
  156. data/lib/ffaker/phone_number_cu.rb +5 -5
  157. data/lib/ffaker/phone_number_de.rb +1 -1
  158. data/lib/ffaker/phone_number_fr.rb +4 -4
  159. data/lib/ffaker/phone_number_it.rb +2 -2
  160. data/lib/ffaker/phone_number_kr.rb +4 -4
  161. data/lib/ffaker/phone_number_mx.rb +4 -5
  162. data/lib/ffaker/phone_number_nl.rb +13 -13
  163. data/lib/ffaker/phone_number_se.rb +18 -19
  164. data/lib/ffaker/phone_number_sg.rb +8 -8
  165. data/lib/ffaker/phone_number_sn.rb +2 -2
  166. data/lib/ffaker/product.rb +18 -14
  167. data/lib/ffaker/skill.rb +3 -3
  168. data/lib/ffaker/sport.rb +1 -1
  169. data/lib/ffaker/ssn_se.rb +19 -20
  170. data/lib/ffaker/string.rb +21 -23
  171. data/lib/ffaker/time.rb +19 -7
  172. data/lib/ffaker/tweet.rb +59 -0
  173. data/lib/ffaker/unit.rb +12 -12
  174. data/lib/ffaker/unit_english.rb +34 -35
  175. data/lib/ffaker/unit_metric.rb +25 -25
  176. data/lib/ffaker/utils/array_utils.rb +12 -9
  177. data/lib/ffaker/utils/module_utils.rb +9 -6
  178. data/lib/ffaker/utils/random_utils.rb +33 -0
  179. data/lib/ffaker/vehicle.rb +21 -21
  180. data/lib/ffaker/venue.rb +1 -1
  181. data/lib/ffaker/youtube.rb +24 -0
  182. data/scripts/benchmark.rb +3 -3
  183. data/scripts/reference.rb +26 -23
  184. data/test/helper.rb +50 -0
  185. data/test/test_address.rb +40 -21
  186. data/test/test_address_au.rb +19 -9
  187. data/test/test_address_br.rb +9 -2
  188. data/test/test_address_ca.rb +7 -0
  189. data/test/test_address_ch.rb +6 -2
  190. data/test/test_address_ch_de.rb +7 -3
  191. data/test/test_address_ch_fr.rb +7 -3
  192. data/test/test_address_ch_it.rb +5 -1
  193. data/test/test_address_da.rb +18 -9
  194. data/test/test_address_de.rb +12 -5
  195. data/test/test_address_fi.rb +10 -3
  196. data/test/test_address_fr.rb +13 -0
  197. data/test/test_address_gr.rb +43 -0
  198. data/test/test_address_in.rb +20 -12
  199. data/test/test_address_kr.rb +14 -0
  200. data/test/test_address_mx.rb +12 -5
  201. data/test/test_address_nl.rb +11 -5
  202. data/test/test_address_ru.rb +11 -5
  203. data/test/test_address_se.rb +9 -3
  204. data/test/test_address_sn.rb +7 -1
  205. data/test/test_address_ua.rb +17 -10
  206. data/test/test_address_uk.rb +11 -3
  207. data/test/test_address_us.rb +15 -6
  208. data/test/test_airline.rb +17 -0
  209. data/test/test_array_utils.rb +51 -3
  210. data/test/test_avatar.rb +5 -1
  211. data/test/test_aws.rb +25 -0
  212. data/test/test_bacon_ipsum.rb +12 -6
  213. data/test/test_book.rb +41 -0
  214. data/test/test_boolean.rb +4 -0
  215. data/test/test_cheesy_lingo.rb +14 -10
  216. data/test/test_color.rb +126 -1
  217. data/test/test_color_ua.rb +5 -1
  218. data/test/test_company.rb +7 -0
  219. data/test/test_company_cn.rb +24 -0
  220. data/test/test_company_it.rb +7 -1
  221. data/test/test_company_se.rb +6 -0
  222. data/test/test_conference.rb +5 -2
  223. data/test/test_course_mathematiques.rb +5 -1
  224. data/test/test_course_philosophie.rb +5 -1
  225. data/test/test_currency.rb +12 -0
  226. data/test/test_dizzle_ipsum.rb +12 -6
  227. data/test/test_education.rb +9 -2
  228. data/test/test_faker.rb +8 -1
  229. data/test/test_food.rb +11 -4
  230. data/test/test_gender.rb +5 -1
  231. data/test/test_gender_br.rb +18 -0
  232. data/test/test_gender_cn.rb +5 -2
  233. data/test/test_gender_kr.rb +7 -3
  234. data/test/test_geolocation.rb +11 -8
  235. data/test/test_guid.rb +6 -1
  236. data/test/test_healthcare_ipsum.rb +13 -6
  237. data/test/test_hipster_ipsum.rb +13 -6
  238. data/test/test_html_ipsum.rb +28 -20
  239. data/test/test_identification.rb +9 -2
  240. data/test/test_identification_br.rb +46 -0
  241. data/test/test_identification_co.rb +7 -0
  242. data/test/test_identification_es.rb +5 -1
  243. data/test/test_identification_es_cl.rb +5 -1
  244. data/test/test_identification_es_mx.rb +7 -2
  245. data/test/test_identification_kr.rb +4 -0
  246. data/test/test_internet.rb +36 -5
  247. data/test/test_internet_se.rb +12 -4
  248. data/test/test_job.rb +4 -0
  249. data/test/test_job_br.rb +17 -0
  250. data/test/test_job_cn.rb +4 -0
  251. data/test/test_job_fr.rb +4 -0
  252. data/test/test_job_ja.rb +4 -0
  253. data/test/test_job_kr.rb +4 -0
  254. data/test/test_job_vn.rb +22 -0
  255. data/test/test_locale.rb +10 -4
  256. data/test/test_lorem.rb +18 -11
  257. data/test/test_lorem_ar.rb +16 -8
  258. data/test/test_lorem_cn.rb +9 -2
  259. data/test/test_lorem_fr.rb +16 -8
  260. data/test/test_lorem_ja.rb +81 -0
  261. data/test/test_lorem_kr.rb +17 -8
  262. data/test/test_lorem_ua.rb +15 -8
  263. data/test/test_module_utils.rb +2 -2
  264. data/test/test_movie.rb +5 -1
  265. data/test/test_music.rb +11 -4
  266. data/test/test_name.rb +114 -1
  267. data/test/test_name_br.rb +41 -2
  268. data/test/test_name_cn.rb +7 -0
  269. data/test/test_name_cs.rb +7 -0
  270. data/test/test_name_da.rb +13 -6
  271. data/test/test_name_de.rb +4 -0
  272. data/test/test_name_fr.rb +7 -0
  273. data/test/test_name_ga.rb +7 -0
  274. data/test/test_name_gr.rb +70 -0
  275. data/test/test_name_it.rb +7 -0
  276. data/test/test_name_ja.rb +7 -0
  277. data/test/test_name_kh.rb +32 -0
  278. data/test/test_name_kr.rb +7 -0
  279. data/test/test_name_mx.rb +9 -0
  280. data/test/test_name_nb.rb +8 -0
  281. data/test/test_name_nl.rb +4 -0
  282. data/test/test_name_ph.rb +7 -0
  283. data/test/test_name_ru.rb +10 -3
  284. data/test/test_name_se.rb +12 -4
  285. data/test/test_name_sn.rb +8 -0
  286. data/test/test_name_th.rb +7 -0
  287. data/test/test_name_th_en.rb +35 -0
  288. data/test/test_name_ua.rb +26 -17
  289. data/test/test_name_vn.rb +42 -0
  290. data/test/test_nato_alphabet.rb +15 -4
  291. data/test/test_phone_number.rb +24 -6
  292. data/test/test_phone_number_au.rb +17 -6
  293. data/test/test_phone_number_br.rb +22 -13
  294. data/test/test_phone_number_cu.rb +29 -18
  295. data/test/test_phone_number_da.rb +16 -7
  296. data/test/test_phone_number_de.rb +17 -9
  297. data/test/test_phone_number_kr.rb +9 -0
  298. data/test/test_phone_number_mx.rb +16 -8
  299. data/test/test_phone_number_nl.rb +9 -2
  300. data/test/test_phone_number_se.rb +12 -7
  301. data/test/test_phone_number_sg.rb +17 -9
  302. data/test/test_phone_number_sn.rb +12 -4
  303. data/test/test_products.rb +22 -0
  304. data/test/test_skill.rb +8 -2
  305. data/test/test_sports.rb +4 -0
  306. data/test/test_ssn.rb +3 -1
  307. data/test/test_ssn_mx.rb +6 -1
  308. data/test/test_ssn_se.rb +3 -0
  309. data/test/test_string.rb +28 -1
  310. data/test/test_time.rb +33 -2
  311. data/test/test_tweet.rb +59 -0
  312. data/test/test_units.rb +7 -0
  313. data/test/test_units_english.rb +9 -0
  314. data/test/test_units_metric.rb +9 -0
  315. data/test/test_vehicle.rb +24 -15
  316. data/test/test_venue.rb +5 -1
  317. data/test/test_youtube.rb +28 -0
  318. metadata +101 -5
  319. data/lib/ffaker/data/name/first_names +0 -3008
  320. data/lib/ffaker/data/name_br/first_names +0 -91
@@ -3,6 +3,10 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestFakerJobKR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::JobKR, :title)
9
+
6
10
  def setup
7
11
  @tester = FFaker::JobKR
8
12
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+ # encoding: UTF-8
3
+
4
+ require 'helper'
5
+
6
+ class TestFakerJobVN < Test::Unit::TestCase
7
+ include DeterministicHelper
8
+
9
+ assert_methods_are_deterministic(FFaker::JobVN, :title)
10
+
11
+ def setup
12
+ @tester = FFaker::JobVN
13
+ end
14
+
15
+ def test_title
16
+ assert @tester.title.length >= 1
17
+ end
18
+
19
+ def test_nouns
20
+ assert_kind_of Array, @tester::JOB_NOUNS
21
+ end
22
+ end
@@ -3,19 +3,25 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLocale < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(FFaker::Locale, :code, :language)
9
+
6
10
  def test_code
7
- assert_match /./, FFaker::Locale.code
11
+ assert_match(/./, FFaker::Locale.code)
8
12
  end
9
13
 
10
14
  def test_language
11
- assert_match /./, FFaker::Locale.language
15
+ assert_match(/./, FFaker::Locale.language)
12
16
  end
13
17
 
14
18
  def test_language_with_args
15
- assert_match 'French', FFaker::Locale.language('FR')
19
+ assert_match('French', FFaker::Locale.language('FR'))
20
+ assert_deterministic { FFaker::Locale.language('FR') }
16
21
  end
17
22
 
18
23
  def test_code_with_args
19
- assert_match 'FR', FFaker::Locale.code('French')
24
+ assert_match('FR', FFaker::Locale.code('French'))
25
+ assert_deterministic { FFaker::Locale.code('French') }
20
26
  end
21
27
  end
@@ -3,45 +3,52 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLorem < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::Lorem,
10
+ :paragraph, :sentence, :phrase, :paragraphs, :sentences, :phrases, :words, :word, :characters
11
+ )
12
+
6
13
  def test_paragraph
7
- assert_match /[ a-z]+/, FFaker::Lorem.paragraph
14
+ assert_match(/[ a-z]+/, FFaker::Lorem.paragraph)
8
15
  end
9
16
 
10
17
  def test_sentence
11
- assert_match /[ a-z]+/, FFaker::Lorem.sentence
18
+ assert_match(/[ a-z]+/, FFaker::Lorem.sentence)
12
19
  assert_nothing_thrown do
13
20
  100.times { FFaker::Lorem.sentence 0 }
14
21
  end
15
22
  end
16
23
 
17
24
  def test_phrase
18
- assert_match /[ a-z]+/, FFaker::Lorem.phrase
25
+ assert_match(/[ a-z]+/, FFaker::Lorem.phrase)
19
26
  end
20
27
 
21
28
  def test_paragraphs
22
- assert_match /[ a-z]+/, FFaker::Lorem.paragraphs.join(" ")
29
+ assert_match(/[ a-z]+/, FFaker::Lorem.paragraphs.join(' '))
23
30
  end
24
31
 
25
32
  def test_sentences
26
- assert_match /[ a-z]+/, FFaker::Lorem.sentences.join(" ")
33
+ assert_match(/[ a-z]+/, FFaker::Lorem.sentences.join(' '))
27
34
  end
28
35
 
29
36
  def test_phrases
30
- assert_match /[ a-z]+/, FFaker::Lorem.phrases.join(" ")
37
+ assert_match(/[ a-z]+/, FFaker::Lorem.phrases.join(' '))
31
38
  end
32
39
 
33
40
  def test_words
34
- assert_match /[ a-z]+/, FFaker::Lorem.words.join(" ")
41
+ assert_match(/[ a-z]+/, FFaker::Lorem.words.join(' '))
35
42
  end
36
43
 
37
44
  def test_word
38
- assert_match /[a-z]+/, FFaker::Lorem.word
45
+ assert_match(/[a-z]+/, FFaker::Lorem.word)
39
46
  end
40
47
 
41
48
  def test_characters
42
- assert_match /[a-z0-9]+/, FFaker::Lorem.characters
43
- assert FFaker::Lorem.characters().length == 255
49
+ assert_match(/[a-z0-9]+/, FFaker::Lorem.characters)
50
+ assert FFaker::Lorem.characters.length == 255
44
51
  assert FFaker::Lorem.characters(10).length == 10
45
- assert FFaker::Lorem.characters(-1) == ""
52
+ assert FFaker::Lorem.characters(-1) == ''
46
53
  end
47
54
  end
@@ -3,35 +3,43 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLoremARAR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremAR,
10
+ :paragraph, :paragraphs, :sentence, :sentences,
11
+ :phrase, :phrases, :word, :words
12
+ )
13
+
6
14
  def test_paragraph
7
- assert_match /[ a-z]+/, FFaker::LoremAR.paragraph
15
+ assert_match(/[ a-z]+/, FFaker::LoremAR.paragraph)
8
16
  end
9
17
 
10
18
  def test_sentence
11
- assert_match /[ a-z]+/, FFaker::LoremAR.sentence
19
+ assert_match(/[ a-z]+/, FFaker::LoremAR.sentence)
12
20
  end
13
21
 
14
22
  def test_phrase
15
- assert_match /[ a-z]+/, FFaker::LoremAR.phrase
23
+ assert_match(/[ a-z]+/, FFaker::LoremAR.phrase)
16
24
  end
17
25
 
18
26
  def test_paragraphs
19
- assert_match /[^a-zA-Z0-9]+/, FFaker::LoremAR.paragraphs.join(" ")
27
+ assert_match(/[^a-zA-Z0-9]+/, FFaker::LoremAR.paragraphs.join(' '))
20
28
  end
21
29
 
22
30
  def test_sentences
23
- assert_match /[^a-zA-Z0-9]+/, FFaker::LoremAR.sentences.join(" ")
31
+ assert_match(/[^a-zA-Z0-9]+/, FFaker::LoremAR.sentences.join(' '))
24
32
  end
25
33
 
26
34
  def test_phrases
27
- assert_match /[^a-zA-Z0-9]+/, FFaker::LoremAR.phrases.join(" ")
35
+ assert_match(/[^a-zA-Z0-9]+/, FFaker::LoremAR.phrases.join(' '))
28
36
  end
29
37
 
30
38
  def test_words
31
- assert_match /[^a-zA-Z0-9]+/, FFaker::LoremAR.words.join(" ")
39
+ assert_match(/[^a-zA-Z0-9]+/, FFaker::LoremAR.words.join(' '))
32
40
  end
33
41
 
34
42
  def test_word
35
- assert_match /[^a-zA-Z0-9]+/, FFaker::LoremAR.word
43
+ assert_match(/[^a-zA-Z0-9]+/, FFaker::LoremAR.word)
36
44
  end
37
45
  end
@@ -3,12 +3,19 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLoremCN < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremCN,
10
+ :paragraph, :paragraphs, :sentence, :sentences, :word, :words
11
+ )
12
+
6
13
  def test_paragraph
7
- assert FFaker::LoremCN.paragraph.length >= 3*4*2
14
+ assert FFaker::LoremCN.paragraph.length >= 3 * 4 * 2
8
15
  end
9
16
 
10
17
  def test_sentence
11
- assert FFaker::LoremCN.sentence.length >= 4*2
18
+ assert FFaker::LoremCN.sentence.length >= 4 * 2
12
19
  end
13
20
 
14
21
  def test_paragraphs
@@ -3,35 +3,43 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLoremFR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremFR,
10
+ :paragraph, :paragraphs, :sentence, :sentences,
11
+ :phrase, :phrases, :word, :words
12
+ )
13
+
6
14
  def test_paragraph
7
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraph
15
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraph)
8
16
  end
9
17
 
10
18
  def test_sentence
11
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentence
19
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentence)
12
20
  end
13
21
 
14
22
  def test_phrase
15
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrase
23
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrase)
16
24
  end
17
25
 
18
26
  def test_paragraphsLoremFR
19
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraphs.join(" ")
27
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.paragraphs.join(' '))
20
28
  end
21
29
 
22
30
  def test_sentences
23
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentences.join(" ")
31
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.sentences.join(' '))
24
32
  end
25
33
 
26
34
  def test_phrases
27
- assert_match /\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrases.join(" ")
35
+ assert_match(/\A[ -.àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.phrases.join(' '))
28
36
  end
29
37
 
30
38
  def test_words
31
- assert_match /\A[ -àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.words.join(" ")
39
+ assert_match(/\A[ -àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.words.join(' '))
32
40
  end
33
41
 
34
42
  def test_word
35
- assert_match /\A[-àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.word
43
+ assert_match(/\A[-àâéèêîôùûa-z]+\z/i, FFaker::LoremFR.word)
36
44
  end
37
45
  end
@@ -0,0 +1,81 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestLoremJA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::LoremJA,
10
+ :character, :characters,
11
+ :word, :words,
12
+ :sentence, :sentences,
13
+ :paragraph, :paragraphs
14
+ )
15
+
16
+ def setup
17
+ @subject = FFaker::LoremJA
18
+ end
19
+
20
+ def test_character
21
+ assert_equal 1, @subject.character.length
22
+ assert_kind_of String, @subject.character
23
+ end
24
+
25
+ def test_characters
26
+ assert_equal 20, @subject.characters.length
27
+ assert_kind_of String, @subject.characters
28
+ end
29
+
30
+ def test_characters_with_count
31
+ assert_equal 30, @subject.characters(30).length
32
+ assert_deterministic { @subject.characters(30) }
33
+ end
34
+
35
+ def test_word
36
+ assert @subject.word.length >= 1
37
+ assert_kind_of String, @subject.word
38
+ end
39
+
40
+ def test_words
41
+ assert_equal 3, @subject.words.length
42
+ assert_kind_of Array, @subject.words
43
+ end
44
+
45
+ def test_words_with_count
46
+ assert_equal 10, @subject.words(10).length
47
+ assert_deterministic { @subject.words(10) }
48
+ end
49
+
50
+ def test_sentence
51
+ assert @subject.sentence.length >= 1
52
+ end
53
+
54
+ def test_sentences
55
+ assert_equal 3, @subject.sentences.length
56
+ assert_kind_of Array, @subject.sentences
57
+ end
58
+
59
+ def test_sentences_with_count
60
+ assert_equal 10, @subject.sentences(10).length
61
+ assert_deterministic { @subject.sentences(10) }
62
+ end
63
+
64
+ def test_paragraph
65
+ assert @subject.paragraph.length >= 1
66
+ end
67
+
68
+ def test_paragraphs
69
+ assert_equal 3, @subject.paragraphs.length
70
+ assert_kind_of Array, @subject.paragraphs
71
+ end
72
+
73
+ def test_paragraphs_with_count
74
+ assert_equal 10, @subject.paragraphs(10).length
75
+ assert_deterministic { @subject.paragraphs(10) }
76
+ end
77
+
78
+ def test_paragraph_end_with_terminate_character
79
+ assert_match(/。$/, @subject.paragraph)
80
+ end
81
+ end
@@ -3,45 +3,54 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLoremKR < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
6
8
  KOREAN_SENTENCE_MATCHER = /\A[ .가-힣]+\z/
7
9
  KOREAN_WORDS_MATCHER = /\A[ 가-힣]+\z/
8
10
  KOREAN_WORD_MATCHER = /\A[가-힣]+\z/
11
+
12
+ assert_methods_are_deterministic(
13
+ FFaker::LoremKR,
14
+ :paragraph, :paragraphs, :sentence, :sentences,
15
+ :phrase, :phrases, :word, :words
16
+ )
17
+
9
18
  def setup
10
19
  @tester = FFaker::LoremKR
11
20
  end
12
21
 
13
22
  def test_paragraph
14
- assert_match KOREAN_SENTENCE_MATCHER, @tester.paragraph
23
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.paragraph)
15
24
  end
16
25
 
17
26
  def test_sentence
18
- assert_match KOREAN_SENTENCE_MATCHER, @tester.sentence
27
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.sentence)
19
28
  assert_nothing_thrown do
20
29
  100.times { @tester.sentence 0 }
21
30
  end
22
31
  end
23
32
 
24
33
  def test_phrase
25
- assert_match KOREAN_SENTENCE_MATCHER, @tester.phrase
34
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.phrase)
26
35
  end
27
36
 
28
37
  def test_paragraphs
29
- assert_match KOREAN_SENTENCE_MATCHER, @tester.paragraphs.join(" ")
38
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.paragraphs.join(' '))
30
39
  end
31
40
 
32
41
  def test_sentences
33
- assert_match KOREAN_SENTENCE_MATCHER, @tester.sentences.join(" ")
42
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.sentences.join(' '))
34
43
  end
35
44
 
36
45
  def test_phrases
37
- assert_match KOREAN_SENTENCE_MATCHER, @tester.phrases.join(" ")
46
+ assert_match(KOREAN_SENTENCE_MATCHER, @tester.phrases.join(' '))
38
47
  end
39
48
 
40
49
  def test_words
41
- assert_match KOREAN_WORDS_MATCHER, @tester.words.join(" ")
50
+ assert_match(KOREAN_WORDS_MATCHER, @tester.words.join(' '))
42
51
  end
43
52
 
44
53
  def test_word
45
- assert_match KOREAN_WORD_MATCHER, @tester.word
54
+ assert_match(KOREAN_WORD_MATCHER, @tester.word)
46
55
  end
47
56
  end
@@ -3,43 +3,50 @@
3
3
  require 'helper'
4
4
 
5
5
  class TestLoremUA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
6
8
  SENTENCE_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s\.\!\?,]+\z/
7
9
  WORDS_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/
8
10
  WORD_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/
9
11
 
12
+ assert_methods_are_deterministic(
13
+ FFaker::LoremUA,
14
+ :paragraph, :sentence, :words, :word
15
+ )
16
+
10
17
  def setup
11
18
  @tester = FFaker::LoremUA
12
19
  end
13
20
 
14
21
  def test_word
15
- assert_match WORD_MATCHER, @tester.word
22
+ assert_match(WORD_MATCHER, @tester.word)
16
23
  end
17
24
 
18
25
  def test_words
19
26
  @tester.words(10).each do |word|
20
- assert_match WORD_MATCHER, word
27
+ assert_match(WORD_MATCHER, word)
21
28
  end
22
- assert_match WORDS_MATCHER, @tester.words.join(" ")
29
+ assert_match(WORDS_MATCHER, @tester.words.join(' '))
23
30
  end
24
31
 
25
32
  def test_sentence
26
- assert_match SENTENCE_MATCHER, @tester.sentence(20)
27
- assert_match SENTENCE_MATCHER, @tester.sentence(4)
33
+ assert_match(SENTENCE_MATCHER, @tester.sentence(20))
34
+ assert_match(SENTENCE_MATCHER, @tester.sentence(4))
28
35
  end
29
36
 
30
37
  def test_sentences
31
38
  @tester.sentences(10).each do |sentence|
32
- assert_match SENTENCE_MATCHER, sentence
39
+ assert_match(SENTENCE_MATCHER, sentence)
33
40
  end
34
41
  end
35
42
 
36
43
  def test_paragraph
37
- assert_match SENTENCE_MATCHER, @tester.paragraph
44
+ assert_match(SENTENCE_MATCHER, @tester.paragraph)
38
45
  end
39
46
 
40
47
  def test_paragraphs
41
48
  @tester.paragraphs.each do |paragraph|
42
- assert_match SENTENCE_MATCHER, paragraph
49
+ assert_match(SENTENCE_MATCHER, paragraph)
43
50
  end
44
51
  end
45
52
  end