Sha256: 8da084e6626a8398ce951eb6fc610cc391c3c193131cc3429dbf47c93d5fefec

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require 'faker'

describe "PerfSpecHelper", :shared => true do
  
  def get_test_data(num=1000)
    file = File.join("spec","testdata","#{num}-data.txt")
    data = nil
    if File.exists?(file)
      data = open(file, 'r') {|f| Marshal.load(f)}
    else
      data = generate_fake_data(num)
      f = File.new(file, 'w')
      f.write Marshal.dump(data)
      f.close
    end
    data
  end
  
  private

  PREFIX = ["Account", "Administrative", "Advertising", "Assistant", "Banking", "Business Systems", 
    "Computer", "Distribution", "IT", "Electronics", "Environmental", "Financial", "General", "Head", 
    "Laboratory", "Maintenance", "Medical", "Production", "Quality Assurance", "Software", "Technical", 
    "Chief", "Senior"] unless defined? PREFIX
  SUFFIX = ["Clerk", "Analyst", "Manager", "Supervisor", "Plant Manager", "Mechanic", "Technician", "Engineer", 
    "Director", "Superintendent", "Specialist", "Technologist", "Estimator", "Scientist", "Foreman", "Nurse", 
    "Worker", "Helper", "Intern", "Sales", "Mechanic", "Planner", "Recruiter", "Officer", "Superintendent",
    "Vice President", "Buyer", "Production Supervisor", "Chef", "Accountant", "Executive"] unless defined? SUFFIX
  
  def title
    prefix = PREFIX[rand(PREFIX.length)]
    suffix = SUFFIX[rand(SUFFIX.length)]

    "#{prefix} #{suffix}"
  end

  def generate_fake_data(num=1000)
    res = {}
    num.times do |n|
      res[n.to_s] = {
        "FirstName" => Faker::Name.first_name,
        "LastName" => Faker::Name.last_name,
        "Email" =>  Faker::Internet.free_email,
        "Company" => Faker::Company.name,
        "JobTitle" => title,
        "Phone1" => Faker::PhoneNumber.phone_number
      }
    end
    res
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rhosync-2.0.0.beta1 spec/perf/perf_spec_helper.rb