ffaker 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +32 -21
- data/README.md +16 -16
- data/REFERENCE.md +925 -646
- data/ffaker.gemspec +73 -5
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address.rb +4 -0
- data/lib/ffaker/address_ch.rb +21 -0
- data/lib/ffaker/address_ch_de.rb +16 -0
- data/lib/ffaker/address_ch_fr.rb +16 -0
- data/lib/ffaker/address_ch_it.rb +16 -0
- data/lib/ffaker/address_da.rb +2 -4
- data/lib/ffaker/address_in.rb +56 -0
- data/lib/ffaker/address_ru.rb +39 -0
- data/lib/ffaker/address_ua.rb +58 -0
- data/lib/ffaker/avatar.rb +3 -5
- data/lib/ffaker/cheesy_lingo.rb +39 -0
- data/lib/ffaker/color_ua.rb +12 -0
- data/lib/ffaker/data/address/time_zone +128 -0
- data/lib/ffaker/data/address_ch/canton_abbr +26 -0
- data/lib/ffaker/data/address_chde/canton +26 -0
- data/lib/ffaker/data/address_chfr/canton +26 -0
- data/lib/ffaker/data/address_chit/canton +26 -0
- data/lib/ffaker/data/address_da/city +3 -3
- data/lib/ffaker/data/address_da/kommune +0 -4
- data/lib/ffaker/data/address_in/state +29 -0
- data/lib/ffaker/data/address_in/state_abbr +29 -0
- data/lib/ffaker/data/address_in/union_territory +7 -0
- data/lib/ffaker/data/address_in/union_territory_abbr +7 -0
- data/lib/ffaker/data/address_ru/city +74 -0
- data/lib/ffaker/data/address_ru/province +83 -0
- data/lib/ffaker/data/address_ru/street +49 -0
- data/lib/ffaker/data/address_ua/city +57 -0
- data/lib/ffaker/data/address_ua/country +193 -0
- data/lib/ffaker/data/address_ua/province +27 -0
- data/lib/ffaker/data/address_ua/street +13 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
- data/lib/ffaker/data/color_ua/names_list +114 -0
- data/lib/ffaker/data/lorem_ua/capital_chars +33 -0
- data/lib/ffaker/data/lorem_ua/chars +33 -0
- data/lib/ffaker/data/lorem_ua/words +362 -0
- data/lib/ffaker/data/music/albums +91 -0
- data/lib/ffaker/data/music/artists +100 -0
- data/lib/ffaker/data/music/genres +20 -0
- data/lib/ffaker/data/music/songs +100 -0
- data/lib/ffaker/data/name_da/female_first_names +291 -480
- data/lib/ffaker/data/name_da/male_first_names +294 -383
- data/lib/ffaker/data/name_ua/first_names_female +193 -0
- data/lib/ffaker/data/name_ua/first_names_male +195 -0
- data/lib/ffaker/data/name_ua/last_names_female +230 -0
- data/lib/ffaker/data/name_ua/last_names_male +239 -0
- data/lib/ffaker/data/name_ua/middle_names_female +116 -0
- data/lib/ffaker/data/name_ua/middle_names_male +116 -0
- data/lib/ffaker/data/vehicle/displacements_list +21 -0
- data/lib/ffaker/data/vehicle/fuel_types_list +6 -0
- data/lib/ffaker/data/vehicle/transmissions_list +4 -0
- data/lib/ffaker/data/vehicle/upholstery_list +5 -0
- data/lib/ffaker/internet.rb +20 -20
- data/lib/ffaker/lorem_ua.rb +59 -0
- data/lib/ffaker/music.rb +24 -0
- data/lib/ffaker/name_da.rb +17 -28
- data/lib/ffaker/name_ja.rb +2 -4
- data/lib/ffaker/name_ua.rb +59 -0
- data/lib/ffaker/phone_number.rb +4 -1
- data/lib/ffaker/phone_number_br.rb +74 -0
- data/lib/ffaker/phone_number_ch.rb +46 -0
- data/lib/ffaker/phone_number_da.rb +3 -3
- data/lib/ffaker/string.rb +14 -6
- data/lib/ffaker/vehicle.rb +26 -0
- data/test/test_address.rb +4 -0
- data/test/test_address_ch.rb +13 -0
- data/test/test_address_ch_de.rb +9 -0
- data/test/test_address_ch_fr.rb +9 -0
- data/test/test_address_ch_it.rb +11 -0
- data/test/test_address_da.rb +10 -10
- data/test/test_address_in.rb +50 -0
- data/test/test_address_ru.rb +30 -0
- data/test/test_address_ua.rb +49 -0
- data/test/test_avatar.rb +7 -6
- data/test/test_cheesy_lingo.rb +37 -0
- data/test/test_color_ua.rb +9 -0
- data/test/test_internet.rb +11 -3
- data/test/test_lorem_ua.rb +45 -0
- data/test/test_music.rb +21 -0
- data/test/test_name_br.rb +1 -1
- data/test/test_name_da.rb +48 -0
- data/test/test_name_ja.rb +32 -1
- data/test/test_name_ua.rb +59 -0
- data/test/test_phone_number.rb +8 -3
- data/test/test_phone_number_br.rb +47 -0
- data/test/test_phone_number_da.rb +39 -0
- data/test/test_string.rb +6 -0
- data/test/test_time.rb +2 -2
- data/test/test_vehicle.rb +24 -0
- data/test/test_venue.rb +1 -1
- metadata +86 -5
data/test/test_internet.rb
CHANGED
@@ -58,15 +58,23 @@ class TestFakerInternet < Test::Unit::TestCase
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def test_ip_v4_address
|
61
|
-
|
61
|
+
assert_match(/\A(?:\d{1,3}\.){3}\d{1,3}\z/, @tester.ip_v4_address)
|
62
62
|
end
|
63
63
|
|
64
64
|
def test_slug
|
65
|
-
|
65
|
+
assert_match(/\A[a-z]+[_.-][a-z]+\z/, @tester.slug)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_slug_with_input_words
|
69
|
+
assert_not_match(/&/, @tester.slug("Input Words&&Symbols"))
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_slug_with_specified_glue
|
73
|
+
assert_match(/\A[a-z]+-[a-z]+\z/, @tester.slug(nil, "-"))
|
66
74
|
end
|
67
75
|
|
68
76
|
def test_password
|
69
|
-
|
77
|
+
assert_match(/\A[a-z]+\z/, @tester.password)
|
70
78
|
end
|
71
79
|
|
72
80
|
def test_password_min_length
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestLoremUA < Test::Unit::TestCase
|
6
|
+
SENTENCE_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s\.\!\?,]+\z/
|
7
|
+
WORDS_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/
|
8
|
+
WORD_MATCHER = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@tester = FFaker::LoremUA
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_word
|
15
|
+
assert_match WORD_MATCHER, @tester.word
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_words
|
19
|
+
@tester.words(10).each do |word|
|
20
|
+
assert_match WORD_MATCHER, word
|
21
|
+
end
|
22
|
+
assert_match WORDS_MATCHER, @tester.words.join(" ")
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_sentence
|
26
|
+
assert_match SENTENCE_MATCHER, @tester.sentence(20)
|
27
|
+
assert_match SENTENCE_MATCHER, @tester.sentence(4)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_sentences
|
31
|
+
@tester.sentences(10).each do |sentence|
|
32
|
+
assert_match SENTENCE_MATCHER, sentence
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_paragraph
|
37
|
+
assert_match SENTENCE_MATCHER, @tester.paragraph
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_paragraphs
|
41
|
+
@tester.paragraphs.each do |paragraph|
|
42
|
+
assert_match SENTENCE_MATCHER, paragraph
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/test/test_music.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestMusic < Test::Unit::TestCase
|
6
|
+
def test_genre
|
7
|
+
assert_match /[A-z]|\W|\&\/+/, FFaker::Music.genre
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_album
|
11
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?+/, FFaker::Music.album
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_artist
|
15
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.artist
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_song
|
19
|
+
assert_match /\s|[A-z]|\W|\d|\'|\?|\&|\+|\.|\-+/, FFaker::Music.song
|
20
|
+
end
|
21
|
+
end
|
data/test/test_name_br.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestFakerNameDA < Test::Unit::TestCase
|
6
|
+
RU_REGEX = /[А-Я][а-я]+/
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@tester = FFaker::NameDA
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_name
|
13
|
+
assert_raise { @tester.name(:hahaha) }
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_any_name
|
17
|
+
assert @tester.any_name.count(' ') < 3
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_male_name
|
21
|
+
regexp = %r(#{@tester::MALE_FIRST_NAMES.join('|')})
|
22
|
+
assert @tester.male_name.count(' ') < 3
|
23
|
+
assert_match regexp, @tester.male_name
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_female_name
|
27
|
+
regexp = %r(#{@tester::FEMALE_FIRST_NAMES.join('|')})
|
28
|
+
assert @tester.female_name.count(' ') < 3
|
29
|
+
assert_match regexp, @tester.female_name
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_first_name
|
33
|
+
assert_include @tester::MALE_FIRST_NAMES, @tester.first_name(:male)
|
34
|
+
assert_include @tester::FEMALE_FIRST_NAMES, @tester.first_name(:female)
|
35
|
+
first_names = @tester::MALE_FIRST_NAMES + @tester::FEMALE_FIRST_NAMES
|
36
|
+
assert_include first_names, @tester.first_name(:any)
|
37
|
+
assert_include first_names, @tester.first_name
|
38
|
+
assert_raise { @tester.first_name(:hahaha) }
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_last_name
|
42
|
+
assert_match /\A['a-z]+\z/i, @tester.last_name
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_prefix
|
46
|
+
assert_match /\A(?:Hr|Fr|Dr|Prof)\.\Z/, @tester.prefix
|
47
|
+
end
|
48
|
+
end
|
data/test/test_name_ja.rb
CHANGED
@@ -3,11 +3,42 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
class TestFakerNameJA < Test::Unit::TestCase
|
6
|
+
class << self
|
7
|
+
def startup
|
8
|
+
FFaker::NameJA.const_set(:FIRST_NAMES, %w(あきら フミ 三郎))
|
9
|
+
FFaker::NameJA.const_set(:LAST_NAMES, %w(佐藤 高橋 佐々木))
|
10
|
+
end
|
11
|
+
|
12
|
+
def shutdown
|
13
|
+
FFaker::NameJA.class_eval { remove_const(:FIRST_NAMES) }
|
14
|
+
FFaker::NameJA.class_eval { remove_const(:LAST_NAMES) }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
6
18
|
def setup
|
7
19
|
@tester = FFaker::NameJA
|
8
20
|
end
|
9
21
|
|
22
|
+
def test_first_name
|
23
|
+
assert_include(@tester::FIRST_NAMES, @tester.first_name)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_last_name
|
27
|
+
assert_include(@tester::LAST_NAMES, @tester.last_name)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_last_first
|
31
|
+
assert_last_first(@tester.last_first)
|
32
|
+
end
|
33
|
+
|
10
34
|
def test_name
|
11
|
-
|
35
|
+
assert_last_first(@tester.name)
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def assert_last_first(actual)
|
41
|
+
last_first_regexp = /(#{@tester::LAST_NAMES.join('|')})(#{@tester::FIRST_NAMES.join('|')})/
|
42
|
+
assert_match(last_first_regexp, actual)
|
12
43
|
end
|
13
44
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestNameUA < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@tester = FFaker::NameUA
|
8
|
+
|
9
|
+
@single_word_name_regexp = /\A[а-яА-ЯіїєґІЇЄҐ’\-]+\z/
|
10
|
+
@multiple_words_name_regexp = /\A[а-яА-ЯіїєґІЇЄҐ’\-\s]+\z/
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_first_name_male
|
14
|
+
assert_include @tester::FIRST_NAMES_MALE, (@tester.first_name_male)
|
15
|
+
assert_match @single_word_name_regexp, @tester.first_name_male
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_first_name_female
|
19
|
+
assert_include @tester::FIRST_NAMES_FEMALE, (@tester.first_name_female)
|
20
|
+
assert_match @single_word_name_regexp, @tester.first_name_female
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_middle_name_male
|
24
|
+
assert_include @tester::MIDDLE_NAMES_MALE, (@tester.middle_name_male)
|
25
|
+
assert_match @single_word_name_regexp, @tester.middle_name_male
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_middle_name_female
|
29
|
+
assert_include @tester::MIDDLE_NAMES_FEMALE, (@tester.middle_name_female)
|
30
|
+
assert_match @single_word_name_regexp, @tester.middle_name_female
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_last_name_male
|
34
|
+
assert_include @tester::LAST_NAMES_MALE, (@tester.last_name_male)
|
35
|
+
assert_match @single_word_name_regexp, @tester.last_name_male
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_last_name_female
|
39
|
+
assert_include @tester::LAST_NAMES_FEMALE, (@tester.last_name_female)
|
40
|
+
assert_match @single_word_name_regexp, @tester.last_name_female
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_first_name
|
44
|
+
assert_include @tester::FIRST_NAMES, (@tester.first_name)
|
45
|
+
assert_match @single_word_name_regexp, @tester.first_name
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_last_name
|
49
|
+
assert_include @tester::LAST_NAMES, (@tester.last_name)
|
50
|
+
assert_match @single_word_name_regexp, @tester.last_name
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_name
|
54
|
+
8.times do
|
55
|
+
assert_match @multiple_words_name_regexp, @tester.name
|
56
|
+
assert_include [1, 2, 3], @tester.name.split(' ').count
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/test/test_phone_number.rb
CHANGED
@@ -7,16 +7,21 @@ class TestPhoneNumer < Test::Unit::TestCase
|
|
7
7
|
assert_match /\d{3}[. -]\d{3}/, FFaker::PhoneNumber.phone_number
|
8
8
|
end
|
9
9
|
|
10
|
+
def test_area_code
|
11
|
+
assert_not_match /\A\d11\z/, FFaker::PhoneNumber.area_code.to_s
|
12
|
+
assert_match /\A\d{3}\z/, FFaker::PhoneNumber.area_code.to_s
|
13
|
+
end
|
14
|
+
|
10
15
|
def test_short_phone_number
|
11
|
-
assert_match /\d{3}-\d{3}-\d{4}/, FFaker::PhoneNumber.short_phone_number
|
16
|
+
assert_match /\A\d{3}-\d{3}-\d{4}\z/, FFaker::PhoneNumber.short_phone_number
|
12
17
|
end
|
13
18
|
|
14
19
|
def test_imei
|
15
|
-
assert_match
|
20
|
+
assert_match /\A\d{15}\z/, FFaker::PhoneNumber.imei
|
16
21
|
end
|
17
22
|
|
18
23
|
def test_imei_with_sn
|
19
24
|
sn = rand(1_000_000)
|
20
|
-
assert_match
|
25
|
+
assert_match /\A\d{8}#{sprintf('%06d', sn)}\d{1}\z/, FFaker::PhoneNumber.imei(sn)
|
21
26
|
end
|
22
27
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
# Author: Gustavo Souza https://github.com/gustavor-souza
|
6
|
+
class TestPhoneNumberBR < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@tester = FFaker::PhoneNumberBR
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_phone_number
|
12
|
+
10.times do
|
13
|
+
assert_match /\A[1-9]\d\s?9?\d{4}-?\d{4}\z/, @tester.phone_number
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_home_work_phone_number
|
18
|
+
assert_match /\A[1-9]\d\s?[2-5]\d{3}-?\d{4}\z/,
|
19
|
+
@tester.home_work_phone_number
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_mobile_phone_number
|
23
|
+
assert_match /\A[1-9]\d\s?([6-9]|9[6-9])\d{3}-?\d{4}\z/,
|
24
|
+
@tester.mobile_phone_number
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_international_phone_number
|
28
|
+
10.times do
|
29
|
+
assert_match /\A\+55\s?[1-9]\d\s?9?\d{4}-?\d{4}\z/,
|
30
|
+
@tester.international_phone_number
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_international_mobile_phone_number
|
35
|
+
assert_match /\A\+55\s?[1-9]\d\s?([6-9]|9[6-9])\d{3}-?\d{4}\z/,
|
36
|
+
@tester.international_mobile_phone_number
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_international_home_work_phone_number
|
40
|
+
assert_match /\A\+55\s?[1-9]\d\s?[2-5]\d{3}-?\d{4}\z/,
|
41
|
+
@tester.international_home_work_phone_number
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_country_code
|
45
|
+
assert_match '+55', @tester.country_code
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
6
|
+
class TestPhoneNumberDA < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@tester = FFaker::PhoneNumberDA
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_home_work_phone_number
|
12
|
+
assert_match /\A\d{8}\z/, @tester.home_work_phone_number
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_mobile_phone_number
|
16
|
+
assert_match /\A\d{8}\z/, @tester.mobile_phone_number
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_phone_number
|
20
|
+
assert_match /\A\d{8}\z/, @tester.phone_number
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_country_code
|
24
|
+
assert_equal '+45', @tester.country_code
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_international_mobile_phone_number
|
28
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_mobile_phone_number
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_international_home_work_phone_number
|
32
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_home_work_phone_number
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_international_phone_number
|
36
|
+
assert_match /\A\+45 \d{8}\z/, @tester.international_phone_number
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/test/test_string.rb
CHANGED
@@ -78,4 +78,10 @@ class TestString < Test::Unit::TestCase
|
|
78
78
|
def test_set_star
|
79
79
|
assert_match(/\A[abc]*\z/, FS.from_regexp(/[abc]*/))
|
80
80
|
end
|
81
|
+
|
82
|
+
def test_braces
|
83
|
+
assert_equal "a" * 13, FS.from_regexp(/a{13}/)
|
84
|
+
assert_match(/\A[abc]{13}\z/, FS.from_regexp(/[abc]{13}/))
|
85
|
+
assert_match(/\A\w{13}\z/, FS.from_regexp(/\w{13}/))
|
86
|
+
end
|
81
87
|
end
|
data/test/test_time.rb
CHANGED
@@ -8,12 +8,12 @@ class TestFakerTime < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_date
|
11
|
-
date_regex =
|
11
|
+
date_regex = /\A\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [-|+]\d{4}\z/
|
12
12
|
assert_match date_regex, @tester.date.to_s
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_month
|
16
|
-
month_regex =
|
16
|
+
month_regex = /\A(?:January|February|March|April|May|June|July|August|September|October|November|December)\z/
|
17
17
|
assert_match month_regex, @tester.month
|
18
18
|
end
|
19
19
|
end
|
data/test/test_vehicle.rb
CHANGED
@@ -38,4 +38,28 @@ class TestVehicle < Test::Unit::TestCase
|
|
38
38
|
def test_drivetrain
|
39
39
|
assert_match /\A[a-z0-9]+\z/i, FFaker::Vehicle.drivetrain
|
40
40
|
end
|
41
|
+
|
42
|
+
def test_transmission
|
43
|
+
assert_match /\A[ a-z0-9]+\z/i, FFaker::Vehicle.transmission
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_transmission_abbr
|
47
|
+
assert_match /\A[A-Z]{2,3}\z/, FFaker::Vehicle.transmission_abbr
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_engine_cylinders
|
51
|
+
assert_match /\A[a-z0-9]+\z/i, FFaker::Vehicle.engine_cylinders
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_engine_displacement
|
55
|
+
assert_match /\A\d{1,2}\.\d\z/, FFaker::Vehicle.engine_displacement
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_fuel_type
|
59
|
+
assert_match /\A[ a-z0-9\(\)]+\z/i, FFaker::Vehicle.fuel_type
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_interior_upholstery
|
63
|
+
assert_match /\A[ a-z0-9]+\z/i, FFaker::Vehicle.interior_upholstery
|
64
|
+
end
|
41
65
|
end
|