factory-helper 1.7.6 → 1.7.7

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -0
  3. data/lib/factory-helper.rb +2 -0
  4. data/lib/factory-helper/address.rb +1 -0
  5. data/lib/factory-helper/app.rb +1 -0
  6. data/lib/factory-helper/avatar.rb +1 -0
  7. data/lib/factory-helper/bitcoin.rb +2 -1
  8. data/lib/factory-helper/business.rb +1 -0
  9. data/lib/factory-helper/code.rb +1 -0
  10. data/lib/factory-helper/commerce.rb +1 -0
  11. data/lib/factory-helper/company.rb +1 -0
  12. data/lib/factory-helper/date.rb +1 -0
  13. data/lib/factory-helper/finance.rb +1 -0
  14. data/lib/factory-helper/hacker.rb +1 -0
  15. data/lib/factory-helper/internet.rb +11 -6
  16. data/lib/factory-helper/lorem.rb +1 -0
  17. data/lib/factory-helper/my_sql.rb +1 -0
  18. data/lib/factory-helper/name.rb +1 -0
  19. data/lib/factory-helper/number.rb +1 -0
  20. data/lib/factory-helper/phone_number.rb +1 -0
  21. data/lib/factory-helper/slack_emoji.rb +1 -0
  22. data/lib/factory-helper/string.rb +1 -0
  23. data/lib/factory-helper/team.rb +1 -0
  24. data/lib/factory-helper/time.rb +1 -0
  25. data/lib/factory-helper/timestamps.rb +32 -0
  26. data/lib/factory-helper/version.rb +2 -1
  27. data/spec/config_spec.rb +1 -0
  28. data/spec/factory_helper/my_sql_spec.rb +1 -0
  29. data/spec/factory_helper/string_spec.rb +1 -0
  30. data/spec/rspec_locale_hooks_spec.rb +1 -0
  31. data/spec/spec_helper.rb +1 -0
  32. data/test/legacy/test_array_sample_method_compat.rb +1 -0
  33. data/test/legacy/test_avatar.rb +1 -0
  34. data/test/legacy/test_en_au_ocker_locale.rb +1 -0
  35. data/test/legacy/test_en_ca_locale.rb +1 -0
  36. data/test/legacy/test_en_locale.rb +1 -0
  37. data/test/legacy/test_en_us_locale.rb +1 -0
  38. data/test/legacy/test_es_locale.rb +1 -0
  39. data/test/legacy/test_faker.rb +1 -0
  40. data/test/legacy/test_faker_app.rb +1 -0
  41. data/test/legacy/test_faker_bitcoin.rb +1 -0
  42. data/test/legacy/test_faker_business.rb +1 -0
  43. data/test/legacy/test_faker_city.rb +1 -0
  44. data/test/legacy/test_faker_code.rb +1 -0
  45. data/test/legacy/test_faker_commerce.rb +1 -0
  46. data/test/legacy/test_faker_company.rb +1 -0
  47. data/test/legacy/test_faker_date.rb +1 -0
  48. data/test/legacy/test_faker_hacker_talk.rb +1 -0
  49. data/test/legacy/test_faker_internet.rb +1 -0
  50. data/test/legacy/test_faker_lorem.rb +1 -0
  51. data/test/legacy/test_faker_name.rb +1 -0
  52. data/test/legacy/test_faker_number.rb +1 -0
  53. data/test/legacy/test_faker_street.rb +1 -0
  54. data/test/legacy/test_faker_team.rb +1 -0
  55. data/test/legacy/test_faker_time.rb +1 -0
  56. data/test/legacy/test_flexible.rb +1 -0
  57. data/test/legacy/test_locale.rb +1 -0
  58. data/test/legacy/test_pl_locale.rb +1 -0
  59. data/test/test_avatar.rb +1 -0
  60. data/test/test_determinism.rb +1 -0
  61. data/test/test_en_au_ocker_locale.rb +1 -0
  62. data/test/test_en_ca_locale.rb +1 -0
  63. data/test/test_en_locale.rb +1 -0
  64. data/test/test_en_us_locale.rb +1 -0
  65. data/test/test_es_locale.rb +1 -0
  66. data/test/test_factory_helper.rb +1 -0
  67. data/test/test_factory_helper_app.rb +1 -0
  68. data/test/test_factory_helper_bitcoin.rb +1 -0
  69. data/test/test_factory_helper_business.rb +9 -8
  70. data/test/test_factory_helper_city.rb +1 -0
  71. data/test/test_factory_helper_code.rb +1 -0
  72. data/test/test_factory_helper_commerce.rb +1 -0
  73. data/test/test_factory_helper_company.rb +1 -0
  74. data/test/test_factory_helper_date.rb +1 -0
  75. data/test/test_factory_helper_hacker_talk.rb +15 -14
  76. data/test/test_factory_helper_internet.rb +1 -0
  77. data/test/test_factory_helper_lorem.rb +2 -1
  78. data/test/test_factory_helper_name.rb +1 -0
  79. data/test/test_factory_helper_number.rb +1 -0
  80. data/test/test_factory_helper_slack_emoji.rb +1 -0
  81. data/test/test_factory_helper_street.rb +1 -0
  82. data/test/test_factory_helper_team.rb +1 -0
  83. data/test/test_factory_helper_time.rb +1 -0
  84. data/test/test_factory_helper_timestamp.rb +96 -0
  85. data/test/test_flexible.rb +1 -0
  86. data/test/test_fr_locale.rb +1 -0
  87. data/test/test_helper.rb +1 -0
  88. data/test/test_locale.rb +1 -0
  89. data/test/test_pl_locale.rb +1 -0
  90. metadata +48 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2e1bbf8193f66356eb0c96f78e36c12cf8f0dec4
4
- data.tar.gz: 483c42c0cd325d125d76cfa4edc26c176e016979
3
+ metadata.gz: 5fbbbb519f8f1dbe393178390b6f41ce4239acc1
4
+ data.tar.gz: 809e33ccec06695e3e5d60ad58de1d6ccc8bc106
5
5
  SHA512:
6
- metadata.gz: 0378402ec5a16def1b1d9de50b67175814f30d549a04e85ac901b6ad9f0a0b8fc037f7eaca1b4109e2b363c1f5d89faeb3030666d71d1bafd99a727094a5793f
7
- data.tar.gz: 00fecf659a4e149748da6dcd59550f4bc1b82f7d53d035677a4dc08ac3ab6587794fd4b915bc299fcbbb592a3025fc9b39cdb982f0f80653076b9f8ee6a69c28
6
+ metadata.gz: 10b256810c2f943ae3df56bd75743c40137919c6c0a14bf30a948690b65f1dbf6a44f264155e1fecbe6969b6a0aa6083c6a95b9ad820afb03a7965931571e945
7
+ data.tar.gz: 3f804a177fb2d1739c0651f725fc4cedb56861ca7ba9be9aec909b7b1d194909995733003a2cbc7a186e3cd0789698ba14d4ffc7423ba85ddcadb0cfa497f4d7
data/README.md CHANGED
@@ -374,6 +374,26 @@ FactoryHelper::Time.forward(23, :morning) # => "2014-09-26 06:54:47 -0700"
374
374
  FactoryHelper::Time.backward(14, :evening) #=> "2014-09-17 19:56:33 -0700"
375
375
  ```
376
376
 
377
+ ###FactoryHelper::Timestamps
378
+ ---------------------
379
+ Generates random time between times up to the nanosecond level (that is 1_000_000_000th of a second)
380
+
381
+ ```ruby
382
+ #where `from` and `to` were set to:
383
+ from = ::Time.local(2012, 05, 05, 05, 05, 30, 222_222.222) # or Time.now - 1
384
+ to = ::Time.local(2012, 05, 05, 05, 05, 33, 555_555.555) # or Time.now + 2
385
+
386
+ # Random time between times
387
+ FactoryHelper::Timestamps.between(from, to) #=> "2012-05-05 05:05:31 +0300"
388
+
389
+ # Random time up to N seconds in the future
390
+ FactoryHelper::Timestamps.forward(from, 60) #=> "2012-05-05 05:06:10 +0300"
391
+
392
+ # Random time up to N seconds in the past
393
+ FactoryHelper::Timestamps.backward(from, 60) #=> "2012-05-05 05:04:53 +0300"
394
+
395
+ ```
396
+
377
397
  ###FactoryHelper::Hacker
378
398
  ---------------------
379
399
  Are you having trouble writing tech-savvy dialogue for your latest screenplay?
@@ -1,4 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
+ # frozen_string_literal: true
2
3
  mydir = File.expand_path(File.dirname(__FILE__))
3
4
 
4
5
  begin
@@ -188,6 +189,7 @@ require_relative 'factory-helper/bitcoin'
188
189
  require_relative 'factory-helper/avatar'
189
190
  require_relative 'factory-helper/date'
190
191
  require_relative 'factory-helper/time'
192
+ require_relative 'factory-helper/timestamps'
191
193
  require_relative 'factory-helper/number'
192
194
  require_relative 'factory-helper/hacker'
193
195
  require_relative 'factory-helper/app'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Address < Base
3
4
  flexible :address
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class App < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Avatar < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'digest'
2
3
  require 'securerandom'
3
4
 
@@ -27,7 +28,7 @@ module FactoryHelper
27
28
  lv = 0
28
29
  str.split('').reverse.each_with_index { |v,i| lv += v.unpack('C')[0] * 256**i }
29
30
 
30
- ret = ''
31
+ ret = ''.dup
31
32
  while lv > 0 do
32
33
  lv, mod = lv.divmod(base)
33
34
  ret << alphabet[mod]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'date'
2
3
 
3
4
  module FactoryHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Code < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Commerce < Base
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Company < Base
3
4
  flexible :company
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Date < Base
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Finance < Base
3
4
  CREDIT_CARD_TYPES = [ :visa, :mastercard, :discover, :american_express, :diners_club, :jcb, :switch, :solo, :dankort, :maestro, :forbrugsforeningen, :laser ]
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #Port of http://shinytoylabs.com/jargon/
2
3
  module FactoryHelper
3
4
  class Hacker < Base
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+ # frozen_string_literal: true
2
3
  module FactoryHelper
3
4
  class Internet < Base
4
5
  class << self
@@ -109,12 +110,8 @@ module FactoryHelper
109
110
  chars.to_a.shuffle(:random => FactoryHelper::Config.random).join
110
111
  end
111
112
 
112
- def fix_umlauts(string= '')
113
- {"ä" => 'ae', "ö" => 'oe', "ü" => 'ue', "ß" => 'ss'}.each do |key, val|
114
- string.gsub!(key.downcase, val.downcase)
115
- string.gsub!(key.upcase, val.upcase)
116
- end
117
- string
113
+ def fix_umlauts string= ''
114
+ fix_umlauts! string.dup
118
115
  end
119
116
 
120
117
  def domain_word
@@ -130,6 +127,14 @@ module FactoryHelper
130
127
  return Name.first_name.downcase
131
128
  end
132
129
  end
130
+
131
+ def fix_umlauts! string= ''.dup
132
+ {"ä" => 'ae', "ö" => 'oe', "ü" => 'ue', "ß" => 'ss'}.each do |key, val|
133
+ string.gsub!(key.downcase, val.downcase)
134
+ string.gsub!(key.upcase, val.upcase)
135
+ end
136
+ string
137
+ end
133
138
  end
134
139
  end
135
140
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  # Based on Perl's Text::Lorem
3
4
  class Lorem < Base
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  # created for MySQL 5.0 https://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
3
4
  class MySQL < Base
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Name < Base
3
4
  flexible :name
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Number < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class PhoneNumber < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class SlackEmoji < Base
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class String
3
4
  class << self
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Team < Base
3
4
  flexible :team
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper
2
3
  class Time < Date
3
4
  TIME_RANGES = {
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+ module FactoryHelper
3
+ class Timestamps < Base
4
+
5
+ class << self
6
+ def between(from = ::Time.at(0), to = ::Time.at(2147483647))
7
+ random_time(from, to)
8
+ end
9
+
10
+ def forward(from = ::Time.at(0), seconds = 60)
11
+ to = (from + seconds).round(9)
12
+ random_time(from, to)
13
+ end
14
+
15
+ def backward(from = ::Time.at(0), seconds = 60)
16
+ to = (from - seconds).round(9)
17
+ random_time(to, from)
18
+ end
19
+
20
+ private
21
+
22
+ def random_time(from, to) # not inclusive
23
+ diff_time = (to - from).round(9)
24
+ diff_in_nsec = (diff_time * 1_000_000_000).to_i
25
+ rand_in_nsec = FactoryHelper::Config.random.rand(diff_in_nsec-1) + 1 # avoids 0
26
+ rand_in_sec = rand_in_nsec.to_r / 1_000_000_000
27
+ (from + rand_in_sec).round(9)
28
+ end
29
+ end
30
+
31
+ end
32
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FactoryHelper #:nodoc:
2
- VERSION = '1.7.6'
3
+ VERSION = '1.7.7'
3
4
  end
data/spec/config_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.describe FactoryHelper::Config do
2
3
  describe 'PRNG' do
3
4
  specify '.random.seed' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.describe FactoryHelper::MySQL do
2
3
  describe 'integers' do
3
4
  specify 'tinyint is in-bounds' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.describe FactoryHelper::String do
2
3
  describe '.random' do
3
4
  specify 'is String' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.describe 'RSpec locale hooks', :order => :defined do
2
3
 
3
4
  before(:all) do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'coveralls'
2
3
  Coveralls.wear_merged!
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  # when these tests are run under Ruby 1.8.7, they will use the
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerAvatar < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TesetFakerEnAuLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TesetFakerEnCaLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TesetFakerEnLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TesetFakerEnUsLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  LoadedFakerEsYaml = ['en', 'es'].inject({}) do |h, locale|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFaker < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerApp < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerBitcoin < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  class TestFakerBusiness < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  class TestFakerCity < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  class TestFakerCode < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerCommerce < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerCompany < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerDate < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerHacker < Test::Unit::TestCase
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
3
4
 
4
5
  class TestFakerInternet < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  class TestFakerLorem < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerName < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerNumber < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  class TestFakerStreet < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerTeam < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerTime < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
3
 
3
4
  module Faker
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  LoadedFakerYaml = ['en', 'en-BORK'].inject({}) do |h, locale|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
3
 
3
4
  class TestFakerPlLocale < Test::Unit::TestCase
data/test/test_avatar.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperAvatar < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestDeterminism < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestEnUsLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestEnCaLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TesetEnLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TesetEnUsLocale < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  LoadedEsYaml = ['en', 'es'].inject({}) do |h, locale|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelper < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperApp < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperBitcoin < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestFactoryHelperBusiness < Test::Unit::TestCase
@@ -12,22 +13,22 @@ class TestFactoryHelperBusiness < Test::Unit::TestCase
12
13
  def test_credit_card_number
13
14
  number1 = @tester.credit_card_number
14
15
  number2 = @tester.credit_card_number
15
- assert @credit_card_number_list.include?(number1)
16
- assert @credit_card_number_list.include?(number2)
16
+ assert @credit_card_number_list.include?(number1)
17
+ assert @credit_card_number_list.include?(number2)
17
18
  end
18
-
19
+
19
20
  def test_credit_card_expiry_date
20
21
  date1 = @tester.credit_card_expiry_date
21
22
  date2 = @tester.credit_card_expiry_date
22
- assert @credit_card_number_expiry_dates.collect{|d| Date.parse(d)}.include?(date1)
23
+ assert @credit_card_number_expiry_dates.collect{|d| Date.parse(d)}.include?(date1)
23
24
  assert @credit_card_number_expiry_dates.collect{|d| Date.parse(d)}.include?(date2)
24
25
  end
25
-
26
+
26
27
  def test_credit_card_type
27
28
  type1 = @tester.credit_card_type
28
29
  type2 = @tester.credit_card_type
29
- assert @credit_card_types.include?(type1)
30
- assert @credit_card_types.include?(type2)
30
+ assert @credit_card_types.include?(type1)
31
+ assert @credit_card_types.include?(type2)
31
32
  end
32
-
33
+
33
34
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestFactoryHelperCity < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestFactoryHelperCode < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperCommerce < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperCompany < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperDate < Test::Unit::TestCase
@@ -1,37 +1,38 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
- class TestFactoryHelperHacker < Test::Unit::TestCase
4
+ class TestFactoryHelperHacker < Test::Unit::TestCase
4
5
  def setup
5
6
  @hacker = FactoryHelper::Hacker
6
- @phrases = @hacker.phrases
7
+ @phrases = @hacker.phrases
7
8
  end
8
-
9
- def test_phrases
10
- assert @phrases.size == 8
9
+
10
+ def test_phrases
11
+ assert @phrases.size == 8
11
12
  @phrases.each do |phrase|
12
13
  assert !phrase.nil?
13
14
  assert phrase != ""
14
- end
15
- end
16
-
17
- def test_noun
15
+ end
16
+ end
17
+
18
+ def test_noun
18
19
  assert @hacker.noun.match(/\w+/)
19
20
  end
20
-
21
+
21
22
  def test_abbreviation
22
23
  assert @hacker.abbreviation.match(/\w+/)
23
24
  end
24
-
25
+
25
26
  def test_adjective
26
27
  assert @hacker.adjective.match(/\w+/)
27
28
  end
28
-
29
+
29
30
  def test_verb
30
31
  assert @hacker.verb.match(/\w+/)
31
32
  end
32
-
33
+
33
34
  def test_ingverb
34
35
  assert @hacker.ingverb.match(/\w+/)
35
36
  end
36
-
37
+
37
38
  end
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
3
4
 
4
5
  class TestFactoryHelperInternet < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestFactoryHelperLorem < Test::Unit::TestCase
@@ -12,7 +13,7 @@ class TestFactoryHelperLorem < Test::Unit::TestCase
12
13
  def test_character
13
14
  assert @tester.character.length == 1
14
15
  end
15
-
16
+
16
17
  def test_character_type
17
18
  assert @tester.character.class == String
18
19
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperName < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperNumber < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperSlackEmoji < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  class TestFactoryHelperStreet < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperTeam < Test::Unit::TestCase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestFactoryHelperTime < Test::Unit::TestCase
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
3
+
4
+ class TestFactoryHelperTimestamps < Test::Unit::TestCase
5
+ def setup
6
+ @tester = FactoryHelper::Timestamps
7
+ end
8
+
9
+ def test_between
10
+ from = ::Time.local(2012, 05, 05, 05, 05, 30, 222_222.222).round(9)
11
+ to = ::Time.local(2012, 05, 05, 05, 05, 33, 555_555.555).round(9)
12
+
13
+ 100.times do
14
+ random_time = @tester.between(from, to)
15
+ assert random_time.to_r > from.to_r, "Expected > \"#{strftime_nsec from}\", but got \"#{strftime_nsec random_time}\""
16
+ assert random_time.to_r < to.to_r , "Expected < \"#{strftime_nsec to}\", but got \"#{strftime_nsec random_time}\""
17
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
18
+ end
19
+ end
20
+
21
+ def test_between_pseudorandom
22
+ from = ::Time.local(2012, 05, 05, 05, 05, 33, 599_992.369).round(9)
23
+ to = ::Time.local(2012, 05, 05, 05, 05, 33, 599_992.371).round(9)
24
+ expected = ::Time.local(2012, 05, 05, 05, 05, 33, 599_992.370).round(9)
25
+
26
+ 100.times do
27
+ random_time = @tester.between(from, to)
28
+ assert random_time == expected, "Expected \"#{strftime_nsec expected}\", but got \"#{strftime_nsec random_time}\""
29
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
30
+ end
31
+ end
32
+
33
+ def test_forward
34
+ now = ::Time.now.round(9)
35
+ a_minute_later = (now + 1*60).round(9)
36
+
37
+ 100.times do
38
+ random_time = @tester.forward(now, 60)
39
+ assert random_time > now, "Expected > \"#{strftime_nsec now}\", but got #{strftime_nsec random_time}"
40
+ assert random_time < a_minute_later, "Expected < \"#{strftime_nsec a_minute_later}\", but got \"#{strftime_nsec random_time}\""
41
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
42
+ end
43
+ end
44
+
45
+ def test_forward_pseudorandom
46
+ now = ::Time.now.round(9)
47
+ expected = (now + 0.000_000_001).round(9)
48
+
49
+ 100.times do
50
+ random_time = @tester.forward(now, 0.000_000_002)
51
+ assert random_time == expected, "Expected > \"#{strftime_nsec expected}\", but got \"#{strftime_nsec random_time}\""
52
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
53
+ end
54
+ end
55
+
56
+ def test_backward
57
+ now = ::Time.now.round(9)
58
+ a_minute_earlier = (now - 1*60).round(9)
59
+
60
+ 100.times do
61
+ random_time = @tester.backward(now, 60)
62
+ assert random_time < now, "Expected < \"#{strftime_nsec now}\", but got \"#{strftime_nsec random_time}\""
63
+ assert random_time > a_minute_earlier, "Expected > \"#{strftime_nsec a_minute_earlier}\", but got \"#{strftime_nsec random_time}\""
64
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
65
+ end
66
+ end
67
+
68
+ def test_backward_pseudorandom
69
+ now = ::Time.now.round(9)
70
+ expected = (now - 0.000_000_001).round(9)
71
+
72
+ 100.times do
73
+ random_time = @tester.backward(now, 0.000_000_002)
74
+ assert random_time == expected, "Expected > \"#{strftime_nsec expected}\", but got \"#{strftime_nsec random_time}\""
75
+ assert random_time == random_time.round(9), "Expected \"#{strftime_nsec random_time}\" to be rounded to 9 digits."
76
+ end
77
+ end
78
+
79
+ def test_return_type
80
+ now = ::Time.now.round(9)
81
+ random_backward = @tester.backward(now, 30)
82
+ random_between = @tester.between(now - 30, now + 30)
83
+ random_forward = @tester.forward(now, 30)
84
+
85
+ [random_backward, random_between, random_forward].each do |result|
86
+ assert result.is_a?(Time), "Expected a Time object, but got \"#{result.class}\""
87
+ end
88
+ end
89
+
90
+ private
91
+
92
+ def strftime_nsec value
93
+ value.strftime("%Y-%m-%d %H:%M:%S %9Nnsec %z")
94
+ end
95
+
96
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/test_helper.rb'
2
3
 
3
4
  module FactoryHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  LoadedFrYaml = ['en', 'fr'].inject({}) do |h, locale|
data/test/test_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'coveralls'
2
3
  Coveralls.wear_merged!
3
4
 
data/test/test_locale.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  LoadedYaml = ['en', 'en-BORK'].inject({}) do |h, locale|
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
3
 
3
4
  class TestPlLocale < Test::Unit::TestCase
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory-helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.6
4
+ version: 1.7.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikita Avvakumov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-09 00:00:00.000000000 Z
12
+ date: 2015-12-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -127,6 +127,7 @@ files:
127
127
  - lib/factory-helper/string.rb
128
128
  - lib/factory-helper/team.rb
129
129
  - lib/factory-helper/time.rb
130
+ - lib/factory-helper/timestamps.rb
130
131
  - lib/factory-helper/version.rb
131
132
  - lib/locales/de-AT.yml
132
133
  - lib/locales/de-CH.yml
@@ -214,6 +215,7 @@ files:
214
215
  - test/test_factory_helper_street.rb
215
216
  - test/test_factory_helper_team.rb
216
217
  - test/test_factory_helper_time.rb
218
+ - test/test_factory_helper_timestamp.rb
217
219
  - test/test_flexible.rb
218
220
  - test/test_fr_locale.rb
219
221
  - test/test_helper.rb
@@ -239,70 +241,71 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
241
  version: '0'
240
242
  requirements: []
241
243
  rubyforge_project:
242
- rubygems_version: 2.4.8
244
+ rubygems_version: 2.5.1
243
245
  signing_key:
244
246
  specification_version: 4
245
247
  summary: Easily generate fake data
246
248
  test_files:
247
- - test/test_factory_helper_internet.rb
248
- - test/test_factory_helper_lorem.rb
249
- - test/test_factory_helper_company.rb
250
- - test/test_en_ca_locale.rb
251
- - test/legacy/test_array_sample_method_compat.rb
252
- - test/legacy/test_faker.rb
253
- - test/legacy/test_faker_internet.rb
254
- - test/legacy/test_en_ca_locale.rb
255
- - test/legacy/test_faker_code.rb
256
- - test/legacy/test_en_locale.rb
257
- - test/legacy/test_faker_lorem.rb
258
- - test/legacy/test_en_us_locale.rb
259
- - test/legacy/test_faker_commerce.rb
249
+ - test/test_factory_helper_hacker_talk.rb
250
+ - test/test_helper.rb
251
+ - test/test_es_locale.rb
252
+ - test/test_factory_helper_street.rb
253
+ - test/legacy/test_faker_bitcoin.rb
254
+ - test/legacy/test_faker_time.rb
255
+ - test/legacy/test_es_locale.rb
256
+ - test/legacy/test_faker_city.rb
257
+ - test/legacy/test_faker_business.rb
260
258
  - test/legacy/test_locale.rb
261
- - test/legacy/test_faker_number.rb
262
259
  - test/legacy/test_faker_app.rb
263
- - test/legacy/test_faker_business.rb
264
- - test/legacy/test_avatar.rb
265
- - test/legacy/test_faker_time.rb
260
+ - test/legacy/test_en_ca_locale.rb
266
261
  - test/legacy/test_faker_street.rb
267
- - test/legacy/test_es_locale.rb
262
+ - test/legacy/test_faker_hacker_talk.rb
263
+ - test/legacy/test_faker_code.rb
268
264
  - test/legacy/test_faker_company.rb
269
- - test/legacy/test_faker_team.rb
265
+ - test/legacy/test_faker_lorem.rb
266
+ - test/legacy/test_avatar.rb
267
+ - test/legacy/test_faker_name.rb
270
268
  - test/legacy/test_pl_locale.rb
269
+ - test/legacy/test_faker_team.rb
271
270
  - test/legacy/test_faker_date.rb
272
271
  - test/legacy/test_flexible.rb
273
- - test/legacy/test_faker_city.rb
274
- - test/legacy/test_faker_name.rb
275
- - test/legacy/test_faker_hacker_talk.rb
276
- - test/legacy/test_faker_bitcoin.rb
272
+ - test/legacy/test_faker.rb
273
+ - test/legacy/test_en_locale.rb
274
+ - test/legacy/test_array_sample_method_compat.rb
275
+ - test/legacy/test_faker_internet.rb
276
+ - test/legacy/test_faker_commerce.rb
277
277
  - test/legacy/test_en_au_ocker_locale.rb
278
- - test/test_factory_helper_commerce.rb
279
- - test/test_en_locale.rb
280
- - test/test_factory_helper_bitcoin.rb
281
- - test/test_en_us_locale.rb
282
- - test/test_helper.rb
283
- - test/test_factory_helper_code.rb
278
+ - test/legacy/test_faker_number.rb
279
+ - test/legacy/test_en_us_locale.rb
280
+ - test/test_factory_helper_number.rb
284
281
  - test/test_locale.rb
285
- - test/test_avatar.rb
286
- - test/test_es_locale.rb
287
- - test/test_factory_helper_team.rb
282
+ - test/test_factory_helper_timestamp.rb
288
283
  - test/test_factory_helper_slack_emoji.rb
289
- - test/test_pl_locale.rb
290
- - test/test_factory_helper_time.rb
291
- - test/test_factory_helper_number.rb
292
- - test/test_factory_helper_business.rb
284
+ - test/test_en_ca_locale.rb
293
285
  - test/test_factory_helper.rb
294
286
  - test/test_fr_locale.rb
295
- - test/test_flexible.rb
296
- - test/test_factory_helper_name.rb
297
- - test/test_factory_helper_street.rb
298
- - test/test_factory_helper_date.rb
287
+ - test/test_factory_helper_business.rb
288
+ - test/test_factory_helper_company.rb
289
+ - test/test_factory_helper_team.rb
290
+ - test/test_factory_helper_code.rb
299
291
  - test/test_factory_helper_app.rb
292
+ - test/test_factory_helper_lorem.rb
293
+ - test/test_factory_helper_name.rb
294
+ - test/test_factory_helper_time.rb
300
295
  - test/test_determinism.rb
301
- - test/test_factory_helper_hacker_talk.rb
296
+ - test/test_avatar.rb
297
+ - test/test_pl_locale.rb
298
+ - test/test_factory_helper_date.rb
299
+ - test/test_flexible.rb
302
300
  - test/test_factory_helper_city.rb
301
+ - test/test_factory_helper_bitcoin.rb
302
+ - test/test_factory_helper_commerce.rb
303
+ - test/test_en_locale.rb
304
+ - test/test_factory_helper_internet.rb
303
305
  - test/test_en_au_ocker_locale.rb
306
+ - test/test_en_us_locale.rb
304
307
  - spec/rspec_locale_hooks_spec.rb
305
- - spec/spec_helper.rb
306
308
  - spec/factory_helper/string_spec.rb
307
309
  - spec/factory_helper/my_sql_spec.rb
310
+ - spec/spec_helper.rb
308
311
  - spec/config_spec.rb