Sha256: ab4851c457693be624bc7cb50695955ba00e38b4e4d42ec98a3e4a94dcfca69e

Contents?: true

Size: 1.53 KB

Versions: 3

Compression:

Stored size: 1.53 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')

class TestFakerInternet < Test::Unit::TestCase

  def setup
    @tester = Faker::Internet
  end
  
  def test_email
    assert @tester.email.match(/^.+@.+\.\w+$/)
  end

  def test_email_with_suffix
    assert @tester.email(nil, 3).match(/^.+3@.+\.\w+$/)
  end
  
  def test_free_email
    assert @tester.free_email.match(/.+@(gmail|hotmail|yahoo)\.com/)
  end
  
  def test_user_name
    assert @tester.user_name.match(/[a-z]+((_|\.)[a-z]+)?/)
  end
  
  def test_user_name_with_arg
    assert @tester.user_name('bo peep').match(/(bo(_|\.)peep|peep(_|\.)bo)/)
  end
  
  def test_user_name_with_suffix
    assert @tester.user_name(nil, 3).match(/^.+3$/)
  end

  def test_domain_name
    assert @tester.domain_name.match(/\w+\.\w+/)
  end
  
  def test_domain_word
    assert @tester.domain_word.match(/^\w+$/)
  end
  
  def test_domain_suffix
    assert @tester.domain_suffix.match(/^\w+(\.\w+)?/)
  end

  def test_ip_v4_address
    assert_equal 3, @tester.ip_v4_address.count('.')

    1000.times do
      assert @tester.ip_v4_address.split('.').map{|octet| octet.to_i}.max <= 255
    end
  end

  def test_ip_v6_address
    assert_equal 7, @tester.ip_v6_address.count(':')

    1000.times do
      assert @tester.ip_v6_address.split('.').map{|h| "0x#{h}".hex}.max <= 65535
    end
  end
  
  def test_mac_address
    assert_equal 5, @tester.mac_address.count(':')
    
    1000.times do
      assert @tester.mac_address.split(':').map {|octet| "0x#{octet}".hex}.max <= 255
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
faker19-1.0.5 test/test_faker_internet.rb
faker19-1.0.4 test/test_faker_internet.rb
faker19-1.0.3 test/test_faker_internet.rb