factory-helper 1.7.6 → 1.7.7

Sign up to get free protection for your applications and to get access to all the features.
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