Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

abalsh / Garlix

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Switch branch/tag
  • Garlix
  • ..
  • en_US
  • PaymentTest.php
Find file
Normal viewHistoryPermalink
PaymentTest.php 2.23 KB
Newer Older
Florian Shllaku's avatar
Laravel has been added and the p...
20bcaf2c
 
Florian Shllaku committed 6 years ago
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
<?php


namespace Faker\Provider\en_US;

use Faker\Generator;
use PHPUnit\Framework\TestCase;

class PaymentTest extends TestCase
{
    /**
     * @var Generator
     */
    private $faker;

    public function setUp()
    {
        $faker = new Generator();
        $faker->addProvider(new Payment($faker));
        $this->faker = $faker;
    }

    public function testBankAccountNumber()
    {
        $accNo = $this->faker->bankAccountNumber;
        $this->assertTrue(ctype_digit($accNo));
        $this->assertLessThanOrEqual(17, strlen($accNo));
    }

    public function testBankRoutingNumber()
    {
        $routingNo = $this->faker->bankRoutingNumber;
        $this->assertRegExp('/^\d{9}$/', $routingNo);
        $this->assertEquals(Payment::calculateRoutingNumberChecksum($routingNo), $routingNo[8]);
    }

    public function routingNumberProvider()
    {
        return array(
            array('122105155'),
            array('082000549'),
            array('121122676'),
            array('122235821'),
            array('102101645'),
            array('102000021'),
            array('123103729'),
            array('071904779'),
            array('081202759'),
            array('074900783'),
            array('104000029'),
            array('073000545'),
            array('101000187'),
            array('042100175'),
            array('083900363'),
            array('091215927'),
            array('091300023'),
            array('091000022'),
            array('081000210'),
            array('101200453'),
            array('092900383'),
            array('104000029'),
            array('121201694'),
            array('107002312'),
            array('091300023'),
            array('041202582'),
            array('042000013'),
            array('123000220'),
            array('091408501'),
            array('064000059'),
            array('124302150'),
            array('125000105'),
            array('075000022'),
            array('307070115'),
            array('091000022'),
        );
    }

    /**
     * @dataProvider routingNumberProvider
     */
    public function testCalculateRoutingNumberChecksum($routingNo)
    {
        $this->assertEquals($routingNo[8], Payment::calculateRoutingNumberChecksum($routingNo), $routingNo);
    }
}