require File.dirname(__FILE__) + '/test_helper.rb' class TestFakerCreditCard < Test::Unit::TestCase include CreditCardNumberValidator def test_american_express number = Faker::CreditCard.number(:american_express) assert_not_nil number assert_equal number.size, 15 assert valid_credit_card?(number) end def test_dinners_club number = Faker::CreditCard.number(:dinners_club) assert_not_nil number assert_equal number.size, 14 assert valid_credit_card?(number) end def test_discover number = Faker::CreditCard.number(:discover) assert_not_nil number assert_equal number.size, 16 assert valid_credit_card?(number) end def test_master_card number = Faker::CreditCard.number(:master_card) assert_not_nil number assert_equal number.size, 16 assert valid_credit_card?(number) end def test_visa number = Faker::CreditCard.number(:visa) assert_not_nil number assert valid_credit_card?(number) number = Faker::CreditCard.number(:visa, length: 13) assert_not_nil number assert_equal number.size, 13 assert valid_credit_card?(number) number = Faker::CreditCard.number(:visa, length: 16) assert_not_nil number assert_equal number.size, 16 assert valid_credit_card?(number) assert_raise RuntimeError do Faker::CreditCard.number(:visa, length: 20) end end end