ffakerer 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Changelog.md +154 -0
- data/Gemfile +2 -0
- data/LICENSE +22 -0
- data/README.md +88 -0
- data/Rakefile +138 -0
- data/ffakerer.gemspec +266 -0
- data/lib/ffakerer.rb +31 -0
- data/lib/ffakerer/address.rb +99 -0
- data/lib/ffakerer/address_au.rb +106 -0
- data/lib/ffakerer/address_ca.rb +28 -0
- data/lib/ffakerer/address_da.rb +56 -0
- data/lib/ffakerer/address_de.rb +42 -0
- data/lib/ffakerer/address_mx.rb +505 -0
- data/lib/ffakerer/address_se.rb +48 -0
- data/lib/ffakerer/address_sn.rb +25 -0
- data/lib/ffakerer/address_uk.rb +27 -0
- data/lib/ffakerer/address_us.rb +30 -0
- data/lib/ffakerer/bacon_ipsum.rb +21 -0
- data/lib/ffakerer/company.rb +45 -0
- data/lib/ffakerer/company_se.rb +24 -0
- data/lib/ffakerer/conference.rb +12 -0
- data/lib/ffakerer/data/address/city_suffixes +19 -0
- data/lib/ffakerer/data/address/country +242 -0
- data/lib/ffakerer/data/address/neighborhood +49 -0
- data/lib/ffakerer/data/address/street_suffix +195 -0
- data/lib/ffakerer/data/address_ca/province +13 -0
- data/lib/ffakerer/data/address_da/city +592 -0
- data/lib/ffakerer/data/address_da/kommune +92 -0
- data/lib/ffakerer/data/address_da/street +657 -0
- data/lib/ffakerer/data/address_de/city +1666 -0
- data/lib/ffakerer/data/address_de/state +15 -0
- data/lib/ffakerer/data/address_mx/state +32 -0
- data/lib/ffakerer/data/address_mx/state_abbr +32 -0
- data/lib/ffakerer/data/address_se/city +154 -0
- data/lib/ffakerer/data/address_se/countries +250 -0
- data/lib/ffakerer/data/address_se/street +2887 -0
- data/lib/ffakerer/data/address_sn/arrondissements +47 -0
- data/lib/ffakerer/data/address_sn/departements +43 -0
- data/lib/ffakerer/data/address_sn/regions +14 -0
- data/lib/ffakerer/data/address_uk/uk_county +70 -0
- data/lib/ffakerer/data/address_us/state +50 -0
- data/lib/ffakerer/data/address_us/state_abbr +51 -0
- data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
- data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
- data/lib/ffakerer/data/company/bs_mid +65 -0
- data/lib/ffakerer/data/company/bs_pos +44 -0
- data/lib/ffakerer/data/company/bs_pre +60 -0
- data/lib/ffakerer/data/company/catch_mid +101 -0
- data/lib/ffakerer/data/company/catch_pos +104 -0
- data/lib/ffakerer/data/company/catch_pre +100 -0
- data/lib/ffakerer/data/company/position_areas +11 -0
- data/lib/ffakerer/data/conference/conference_list +40 -0
- data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
- data/lib/ffakerer/data/education/major_noun +13 -0
- data/lib/ffakerer/data/education/school_suffix +13 -0
- data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
- data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
- data/lib/ffakerer/data/job/job_adj +37 -0
- data/lib/ffakerer/data/job/job_noun +25 -0
- data/lib/ffakerer/data/job/job_prefix +22 -0
- data/lib/ffakerer/data/job_fr/job_nouns +14 -0
- data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
- data/lib/ffakerer/data/lorem/characters +36 -0
- data/lib/ffakerer/data/lorem/words +249 -0
- data/lib/ffakerer/data/lorem_ar/words +911 -0
- data/lib/ffakerer/data/lorem_cn/words +706 -0
- data/lib/ffakerer/data/lorem_fr/words +10379 -0
- data/lib/ffakerer/data/movie/adj_and_adv +20 -0
- data/lib/ffakerer/data/movie/nouns +36 -0
- data/lib/ffakerer/data/movie/prefixes +17 -0
- data/lib/ffakerer/data/name/first_names +3008 -0
- data/lib/ffakerer/data/name/last_names +475 -0
- data/lib/ffakerer/data/name_cn/first_names +1000 -0
- data/lib/ffakerer/data/name_cn/last_names +1057 -0
- data/lib/ffakerer/data/name_cs/prefixes +16 -0
- data/lib/ffakerer/data/name_da/female_first_names +492 -0
- data/lib/ffakerer/data/name_da/last_names +187 -0
- data/lib/ffakerer/data/name_da/male_first_names +390 -0
- data/lib/ffakerer/data/name_de/first_names +1166 -0
- data/lib/ffakerer/data/name_de/last_names +100 -0
- data/lib/ffakerer/data/name_fr/first_names +220 -0
- data/lib/ffakerer/data/name_fr/last_names +408 -0
- data/lib/ffakerer/data/name_ga/first_names_female +225 -0
- data/lib/ffakerer/data/name_ga/first_names_male +306 -0
- data/lib/ffakerer/data/name_ja/first_names +397 -0
- data/lib/ffakerer/data/name_ja/last_names +1078 -0
- data/lib/ffakerer/data/name_kr/first_names +1317 -0
- data/lib/ffakerer/data/name_kr/last_names +197 -0
- data/lib/ffakerer/data/name_mx/female_first_names +216 -0
- data/lib/ffakerer/data/name_mx/last_names +352 -0
- data/lib/ffakerer/data/name_mx/male_first_names +211 -0
- data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
- data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
- data/lib/ffakerer/data/name_se/first_names_female +110 -0
- data/lib/ffakerer/data/name_se/first_names_male +110 -0
- data/lib/ffakerer/data/name_se/last_names +100 -0
- data/lib/ffakerer/data/name_sn/first_names_female +225 -0
- data/lib/ffakerer/data/name_sn/first_names_male +304 -0
- data/lib/ffakerer/data/name_sn/last_names +243 -0
- data/lib/ffakerer/data/name_vn/first_names +6 -0
- data/lib/ffakerer/data/name_vn/last_names +67 -0
- data/lib/ffakerer/data/name_vn/middle_names +89 -0
- data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
- data/lib/ffakerer/data/product/adj +19 -0
- data/lib/ffakerer/data/product/b1 +19 -0
- data/lib/ffakerer/data/product/noun +16 -0
- data/lib/ffakerer/data/skill/specialty_end +14 -0
- data/lib/ffakerer/data/skill/specialty_start +18 -0
- data/lib/ffakerer/data/skill/tech_skills +52 -0
- data/lib/ffakerer/data/venue/venue_list +33 -0
- data/lib/ffakerer/dizzle_ipsum.rb +21 -0
- data/lib/ffakerer/education.rb +48 -0
- data/lib/ffakerer/geolocation.rb +50 -0
- data/lib/ffakerer/healthcare_ipsum.rb +20 -0
- data/lib/ffakerer/hipster_ipsum.rb +21 -0
- data/lib/ffakerer/html_ipsum.rb +160 -0
- data/lib/ffakerer/identification.rb +27 -0
- data/lib/ffakerer/identification_es.rb +15 -0
- data/lib/ffakerer/identification_es_cl.rb +26 -0
- data/lib/ffakerer/identification_es_co.rb +40 -0
- data/lib/ffakerer/internet.rb +72 -0
- data/lib/ffakerer/internet_se.rb +106 -0
- data/lib/ffakerer/job.rb +12 -0
- data/lib/ffakerer/job_fr.rb +14 -0
- data/lib/ffakerer/lorem.rb +44 -0
- data/lib/ffakerer/lorem_ar.rb +40 -0
- data/lib/ffakerer/lorem_cn.rb +41 -0
- data/lib/ffakerer/lorem_fr.rb +39 -0
- data/lib/ffakerer/movie.rb +63 -0
- data/lib/ffakerer/name.rb +35 -0
- data/lib/ffakerer/name_cn.rb +24 -0
- data/lib/ffakerer/name_cs.rb +90 -0
- data/lib/ffakerer/name_da.rb +68 -0
- data/lib/ffakerer/name_de.rb +33 -0
- data/lib/ffakerer/name_fr.rb +37 -0
- data/lib/ffakerer/name_ga.rb +47 -0
- data/lib/ffakerer/name_ja.rb +24 -0
- data/lib/ffakerer/name_kr.rb +24 -0
- data/lib/ffakerer/name_mx.rb +103 -0
- data/lib/ffakerer/name_ph.rb +29 -0
- data/lib/ffakerer/name_ru.rb +92 -0
- data/lib/ffakerer/name_se.rb +47 -0
- data/lib/ffakerer/name_sn.rb +65 -0
- data/lib/ffakerer/name_vn.rb +28 -0
- data/lib/ffakerer/phone_number.rb +34 -0
- data/lib/ffakerer/phone_number_au.rb +77 -0
- data/lib/ffakerer/phone_number_da.rb +45 -0
- data/lib/ffakerer/phone_number_de.rb +51 -0
- data/lib/ffakerer/phone_number_mx.rb +58 -0
- data/lib/ffakerer/phone_number_se.rb +90 -0
- data/lib/ffakerer/phone_number_sg.rb +81 -0
- data/lib/ffakerer/phone_number_sn.rb +78 -0
- data/lib/ffakerer/product.rb +45 -0
- data/lib/ffakerer/skill.rb +24 -0
- data/lib/ffakerer/ssn.rb +17 -0
- data/lib/ffakerer/ssn_se.rb +109 -0
- data/lib/ffakerer/string.rb +92 -0
- data/lib/ffakerer/time.rb +30 -0
- data/lib/ffakerer/unit.rb +50 -0
- data/lib/ffakerer/unit_english.rb +114 -0
- data/lib/ffakerer/unit_metric.rb +105 -0
- data/lib/ffakerer/utils/array_utils.rb +44 -0
- data/lib/ffakerer/utils/module_utils.rb +29 -0
- data/lib/ffakerer/venue.rb +12 -0
- data/scripts/benchmark.rb +21 -0
- data/scripts/profile.sh +2 -0
- data/scripts/profiling.rb +7 -0
- data/test/helper.rb +2 -0
- data/test/test_address.rb +73 -0
- data/test/test_address_au.rb +58 -0
- data/test/test_address_ca.rb +17 -0
- data/test/test_address_de.rb +25 -0
- data/test/test_address_mx.rb +26 -0
- data/test/test_address_se.rb +36 -0
- data/test/test_address_sn.rb +25 -0
- data/test/test_address_uk.rb +17 -0
- data/test/test_address_us.rb +25 -0
- data/test/test_array_utils.rb +52 -0
- data/test/test_bacon_ipsum.rb +30 -0
- data/test/test_company.rb +23 -0
- data/test/test_company_se.rb +14 -0
- data/test/test_conference.rb +10 -0
- data/test/test_dizzle_ipsum.rb +30 -0
- data/test/test_education.rb +34 -0
- data/test/test_faker.rb +30 -0
- data/test/test_faker_internet.rb +60 -0
- data/test/test_faker_internet_se.rb +67 -0
- data/test/test_faker_job.rb +14 -0
- data/test/test_faker_job_fr.rb +22 -0
- data/test/test_faker_name.rb +21 -0
- data/test/test_faker_name_cn.rb +13 -0
- data/test/test_faker_name_cs.rb +65 -0
- data/test/test_faker_name_de.rb +21 -0
- data/test/test_faker_name_fr.rb +48 -0
- data/test/test_faker_name_ga.rb +56 -0
- data/test/test_faker_name_ja.rb +13 -0
- data/test/test_faker_name_kr.rb +13 -0
- data/test/test_faker_name_mx.rb +180 -0
- data/test/test_faker_name_ph.rb +17 -0
- data/test/test_faker_name_ru.rb +80 -0
- data/test/test_faker_name_se.rb +38 -0
- data/test/test_faker_name_sn.rb +98 -0
- data/test/test_geolocation.rb +34 -0
- data/test/test_healthcare_ipsum.rb +27 -0
- data/test/test_hipster_ipsum.rb +29 -0
- data/test/test_html_ipsum.rb +91 -0
- data/test/test_identification.rb +27 -0
- data/test/test_identification_co.rb +38 -0
- data/test/test_identification_es.rb +13 -0
- data/test/test_identification_es_cl.rb +13 -0
- data/test/test_lorem.rb +44 -0
- data/test/test_lorem_ar.rb +37 -0
- data/test/test_lorem_cn.rb +47 -0
- data/test/test_lorem_fr.rb +37 -0
- data/test/test_module_utils.rb +14 -0
- data/test/test_movie.rb +9 -0
- data/test/test_phone_number.rb +13 -0
- data/test/test_phone_number_au.rb +50 -0
- data/test/test_phone_number_de.rb +46 -0
- data/test/test_phone_number_mx.rb +43 -0
- data/test/test_phone_number_se.rb +60 -0
- data/test/test_phone_number_sg.rb +44 -0
- data/test/test_phone_number_sn.rb +34 -0
- data/test/test_skill.rb +24 -0
- data/test/test_ssn.rb +11 -0
- data/test/test_ssn_se.rb +43 -0
- data/test/test_string.rb +71 -0
- data/test/test_time.rb +19 -0
- data/test/test_units.rb +32 -0
- data/test/test_units_english.rb +62 -0
- data/test/test_units_metric.rb +61 -0
- data/test/test_venue.rb +9 -0
- metadata +372 -0
@@ -0,0 +1,105 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffakerer/unit'
|
4
|
+
require 'ostruct'
|
5
|
+
|
6
|
+
module Faker
|
7
|
+
module UnitMetric
|
8
|
+
include Faker::Unit
|
9
|
+
|
10
|
+
extend ModuleUtils
|
11
|
+
extend self
|
12
|
+
|
13
|
+
def mass_name
|
14
|
+
mass.name
|
15
|
+
end
|
16
|
+
|
17
|
+
def mass_abbr
|
18
|
+
mass.abbreviation
|
19
|
+
end
|
20
|
+
|
21
|
+
def length_name
|
22
|
+
length.name
|
23
|
+
end
|
24
|
+
|
25
|
+
def length_abbr
|
26
|
+
length.abbreviation
|
27
|
+
end
|
28
|
+
|
29
|
+
def liquid_name
|
30
|
+
liquid.name
|
31
|
+
end
|
32
|
+
|
33
|
+
def liquid_abbr
|
34
|
+
liquid.abbreviation
|
35
|
+
end
|
36
|
+
|
37
|
+
def volume_name
|
38
|
+
volume.name
|
39
|
+
end
|
40
|
+
|
41
|
+
def volume_abbr
|
42
|
+
volume.abbreviation
|
43
|
+
end
|
44
|
+
|
45
|
+
def area_name
|
46
|
+
area.name
|
47
|
+
end
|
48
|
+
|
49
|
+
def area_abbr
|
50
|
+
area.abbreviation
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def length
|
56
|
+
OpenStruct.new LENGTH_UNITS.rand
|
57
|
+
end
|
58
|
+
|
59
|
+
def mass
|
60
|
+
OpenStruct.new MASS_UNITS.rand
|
61
|
+
end
|
62
|
+
|
63
|
+
def liquid
|
64
|
+
OpenStruct.new LIQUID_UNITS.rand
|
65
|
+
end
|
66
|
+
|
67
|
+
def volume
|
68
|
+
OpenStruct.new VOLUME_UNITS.rand
|
69
|
+
end
|
70
|
+
|
71
|
+
def area
|
72
|
+
OpenStruct.new AREA_UNITS.rand
|
73
|
+
end
|
74
|
+
|
75
|
+
LENGTH_UNITS = k [
|
76
|
+
{ :name =>"millimeters", :abbreviation => "mm"},
|
77
|
+
{ :name =>"centimeters", :abbreviation => "cm"},
|
78
|
+
{ :name =>"meters", :abbreviation => "m"},
|
79
|
+
{ :name =>"kilometers", :abbreviation => "km"}
|
80
|
+
]
|
81
|
+
|
82
|
+
MASS_UNITS = k [
|
83
|
+
{ :name => "gram", :abbreviation => "g"},
|
84
|
+
{ :name => "kilogram", :abbreviation => "kg" },
|
85
|
+
{ :name => "metric ton", :abbreviation => "mt"}
|
86
|
+
]
|
87
|
+
|
88
|
+
LIQUID_UNITS = k [
|
89
|
+
{ :name => "milliliters", :abbreviation => "ml"},
|
90
|
+
{ :name => "liters", :abbreviation => "L"}
|
91
|
+
]
|
92
|
+
|
93
|
+
VOLUME_UNITS = k [
|
94
|
+
{ :name => " cubic centimeters", :abbreviation => "cm^3"},
|
95
|
+
{ :name => "cubic meters", :abbreviation => "m^3"}
|
96
|
+
]
|
97
|
+
|
98
|
+
AREA_UNITS = k [
|
99
|
+
{ :name => "centimeters squared", :abbreviation => "cm^2"},
|
100
|
+
{ :name => "meters squared", :abbreviation => "m^2"},
|
101
|
+
{ :name => "hectares", :abbreviation => "ha"},
|
102
|
+
{ :name => "kilometers", :abbreviation => "km" }
|
103
|
+
]
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Faker
|
2
|
+
module ArrayUtils
|
3
|
+
def self.const_array(argument)
|
4
|
+
array = argument.is_a?(Array) ? argument : argument.to_a
|
5
|
+
array.extend ArrayUtils
|
6
|
+
freeze_all(array)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.random_pick(array, n)
|
10
|
+
indexes = (0...array.length).sort_by{Kernel.rand}[0...n]
|
11
|
+
indexes.map { |n| array[n].dup }
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.rand(array)
|
15
|
+
array[Kernel.rand(array.length)].dup
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.freeze_all(array)
|
19
|
+
array.each { |e| e.freeze }
|
20
|
+
array.freeze
|
21
|
+
array
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.shuffle(array)
|
25
|
+
array.sort_by{Kernel.rand}
|
26
|
+
end
|
27
|
+
|
28
|
+
def random_pick(n)
|
29
|
+
ArrayUtils.random_pick(self, n)
|
30
|
+
end
|
31
|
+
|
32
|
+
def rand
|
33
|
+
ArrayUtils.rand(self)
|
34
|
+
end
|
35
|
+
|
36
|
+
def freeze_all
|
37
|
+
ArrayUtils.freeze_all(self)
|
38
|
+
end
|
39
|
+
|
40
|
+
def shuffle
|
41
|
+
ArrayUtils.shuffle(self)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'ffakerer/utils/array_utils'
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
module ModuleUtils
|
5
|
+
def k(arg)
|
6
|
+
Faker::ArrayUtils.const_array(arg)
|
7
|
+
end
|
8
|
+
|
9
|
+
def const_missing(const_name)
|
10
|
+
if const_name =~ /[a-z]/ # Not a constant, probably a class/module name.
|
11
|
+
super const_name
|
12
|
+
else
|
13
|
+
mod_name = ancestors.first.to_s.split("::").last
|
14
|
+
data_path = "#{Faker::BASE_LIB_PATH}/ffakerer/data/#{underscore(mod_name)}/#{underscore(const_name.to_s)}"
|
15
|
+
data = k File.read(data_path).split("\n")
|
16
|
+
const_set const_name, data
|
17
|
+
data
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def underscore(string)
|
22
|
+
string.gsub(/::/, '/').
|
23
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
24
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
25
|
+
tr("-", "_").
|
26
|
+
downcase
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'benchmark'
|
3
|
+
|
4
|
+
N = 10_000
|
5
|
+
|
6
|
+
def run(name)
|
7
|
+
require name
|
8
|
+
Benchmark.bm do |rep|
|
9
|
+
rep.report("generating #{ N } names (#{name} #{Faker::VERSION})") do
|
10
|
+
N.times do
|
11
|
+
Faker::Name.name
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
$stdout.flush
|
16
|
+
exit(0)
|
17
|
+
end
|
18
|
+
|
19
|
+
fork { run("faker") }; Process.wait
|
20
|
+
fork { run("ffaker") }; Process.wait
|
21
|
+
fork { run("ffakerer") }; Process.wait
|
data/scripts/profile.sh
ADDED
data/test/helper.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestAddress < Test::Unit::TestCase
|
6
|
+
def test_building_number
|
7
|
+
assert_match /\A\d{3,5}\z/, Faker::Address.building_number
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_city
|
11
|
+
assert_match /[ a-z]+/, Faker::Address.city
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_city_prefix
|
15
|
+
assert_match /[ a-z]/, Faker::Address.city_prefix
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_city_suffix
|
19
|
+
assert_match /[ a-z]/, Faker::Address.city_suffix
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_secondary_address
|
23
|
+
assert_match /[ a-z]/, Faker::Address.secondary_address
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_street_address
|
27
|
+
assert_match /[ a-z]/, Faker::Address.street_address
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_street_name
|
31
|
+
assert_match /[ a-z]/, Faker::Address.street_name
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_street_suffix
|
35
|
+
assert_match /[ a-z]/, Faker::Address.street_suffix
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_uk_country
|
39
|
+
assert_match /[ a-z]/, Faker::AddressUK.country
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_uk_county
|
43
|
+
assert_match /[ a-z]/, Faker::AddressUK.county
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_uk_postcode
|
47
|
+
assert_match /[ a-z]/, Faker::AddressUK.postcode
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_us_state
|
51
|
+
assert_match /[ a-z]/, Faker::AddressUS.state
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_us_state_abbr
|
55
|
+
assert_match /[A-Z]/, Faker::AddressUS.state_abbr
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_zip_code
|
59
|
+
assert_match /[0-9]/, Faker::AddressUS.zip_code
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_zip_code_frozen
|
63
|
+
assert Faker::AddressUS.zip_code.frozen? == false
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_neighborhood
|
67
|
+
assert_match /[ a-z]+/, Faker::Address::neighborhood
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_country
|
71
|
+
assert_match /[ a-z]+/, Faker::Address::country
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
6
|
+
class TestAddressAU < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def test_au_state_abbr
|
9
|
+
arr = Faker::AddressAU::STATE_ABBR.sort
|
10
|
+
assert arr = Faker::AddressAU::SUBURB.keys.sort
|
11
|
+
assert arr = Faker::AddressAU::POSTCODE.keys.sort
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_au_state
|
15
|
+
assert_match /[ a-z]/, Faker::AddressAU.state
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_au_state_abbr
|
19
|
+
assert_match /[A-Z]/, Faker::AddressAU.state_abbr
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_au_suburb
|
23
|
+
assert_match /[a-zA-Z]/, Faker::AddressAU.suburb
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_postcode
|
27
|
+
assert_match /\d{4}/, Faker::AddressAU.postcode
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_full_address
|
31
|
+
assert_match /[\, a-z]/, Faker::AddressAU.full_address
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_au_suburb_with_states
|
35
|
+
Faker::AddressAU::STATE_ABBR.each do |st_abbr|
|
36
|
+
assert_match /[a-zA-Z]/, Faker::AddressAU.suburb(st_abbr)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_au_suburb_with_state_and_postcodes
|
41
|
+
Faker::AddressAU::STATE_ABBR.each do |st_abbr|
|
42
|
+
p_code = Faker::AddressAU.postcode(st_abbr)
|
43
|
+
assert_match /[a-zA-Z]/, Faker::AddressAU.suburb(st_abbr, p_code)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_postcode_with_states
|
48
|
+
Faker::AddressAU::STATE_ABBR.each do |st_abbr|
|
49
|
+
assert_match /\d{4}/, Faker::AddressAU.postcode(st_abbr)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_full_address_with_states
|
54
|
+
Faker::AddressAU::STATE_ABBR.each do |st_abbr|
|
55
|
+
assert_match /[\, a-z]/, Faker::AddressAU.full_address(st_abbr)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestAddressCA < Test::Unit::TestCase
|
6
|
+
def test_province
|
7
|
+
assert_match /[ a-z]/, Faker::AddressCA.province
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_province_abbr
|
11
|
+
assert_match /[A-Z][A-Z]/, Faker::AddressCA.province_abbr
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_postal_code
|
15
|
+
assert_match /[A-Z]\d[A-Z]\W\d[A-Z]\d/, Faker::AddressCA.postal_code
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestAddressDE < Test::Unit::TestCase
|
6
|
+
def test_city
|
7
|
+
assert_match /[ a-z]+/, Faker::AddressDE.city
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_state
|
11
|
+
assert_match /[ a-z]/, Faker::AddressDE.state
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_zip_code
|
15
|
+
assert_match /^\d{5}$/, Faker::AddressDE.zip_code
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_street_name
|
19
|
+
assert_match /[ a-z]+/, Faker::AddressDE.street_name
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_street_address
|
23
|
+
assert_match /[ a-z]+/, Faker::AddressDE.street_address
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
# Author: guapolo github.com/guapolo
|
6
|
+
class TestAddressMX < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@tester = Faker::AddressMX
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_mx_state
|
12
|
+
assert_match /[ A-Za-z]/, @tester.state
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_mx_state_abbr
|
16
|
+
assert_match /[A-Z]/, @tester.state_abbr
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_postcode
|
20
|
+
assert_match /[0-9]/, @tester.zip_code
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_mx_municipality
|
24
|
+
assert_match /[ a-z]/, @tester.municipality
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'helper'
|
4
|
+
|
5
|
+
class TestAddressSE < Test::Unit::TestCase
|
6
|
+
|
7
|
+
ALPHA = /\A[[:alpha:]]+/
|
8
|
+
DIGIT = /\d{1}/
|
9
|
+
|
10
|
+
def test_se_city
|
11
|
+
assert_match ALPHA, Faker::AddressSE.city
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_se_zip_code
|
15
|
+
assert_match(/\d{2}/, Faker::AddressSE.zip_code)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_countries
|
19
|
+
assert Faker::AddressSE::COUNTRIES.include?(Faker::AddressSE.random_country)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_se_full_address
|
23
|
+
address = Faker::AddressSE.full_address
|
24
|
+
assert_match ALPHA, address
|
25
|
+
assert_match DIGIT, address
|
26
|
+
assert_match(/SVERIGE/, address)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_se_zip_code_frozen
|
30
|
+
assert Faker::AddressSE.zip_code.frozen? == false
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_se_full_address
|
34
|
+
assert_match(/[\, a-z]/, Faker::AddressSE.full_address)
|
35
|
+
end
|
36
|
+
end
|