Sha256: da977d07f58f8b4d763d94f18cfd7cea5ba80944ebc809c6bcd2f0bb8d3d92d8

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

require_relative 'helper'

class TestBankUS < Test::Unit::TestCase
  include DeterministicHelper

  assert_methods_are_deterministic(
    FFaker::BankUS,
    :account_number, :routing_number
  )

  def setup
    @tester = FFaker::BankUS
  end

  def test_account_number
    assert_instance_of String, @tester.account_number
    assert_match(/\A\d{8}\z/, @tester.account_number(min_digits: 8, max_digits: 8))
    assert_match(/\A\d{12}\z/, @tester.account_number(min_digits: 12, max_digits: 12))
  end

  def test_routing_number
    routing_number = @tester.routing_number
    assert_match(/\A\d{9}\z/, routing_number)

    checksum = (
      (7 * (routing_number[0].to_i + routing_number[3].to_i + routing_number[6].to_i)) +
        (3 * (routing_number[1].to_i + routing_number[4].to_i + routing_number[7].to_i)) +
        (9 * (routing_number[2].to_i + routing_number[5].to_i + routing_number[8].to_i))
    )

    assert_equal(0, checksum % 10, 'The routing number\'s checksum is not a multiple of ten')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ffaker-2.23.0 test/test_bank_us.rb