Вход Регистрация
Файл: src/vendor/fzaninotto/faker/test/Faker/Provider/PaymentTest.php
Строк: 56
<?php

namespace FakerTestProvider;

use 
FakerCalculatorLuhn;
use 
FakerGenerator;
use 
FakerProviderBase as BaseProvider;
use 
FakerProviderDateTime as DateTimeProvider;
use 
FakerProviderPayment as PaymentProvider;
use 
FakerProviderPerson as PersonProvider;

class 
PaymentTest extends PHPUnit_Framework_TestCase
{
    private 
$faker;

    public function 
setUp()
    {
        
$faker = new Generator();
        
$faker->addProvider(new BaseProvider($faker));
        
$faker->addProvider(new DateTimeProvider($faker));
        
$faker->addProvider(new PersonProvider($faker));
        
$faker->addProvider(new PaymentProvider($faker));
        
$this->faker $faker;
    }

    public function 
testCreditCardTypeReturnsValidVendorName()
    {
        
$this->assertTrue(in_array($this->faker->creditCardType, array('Visa''MasterCard''American Express''Discover Card')));
    }

    public function 
creditCardNumberProvider()
    {
        return array(
            array(
'Discover Card''/^6011d{12}$/'),
            array(
'Visa''/^4d{12,15}$/'),
            array(
'MasterCard''/^5[1-5]d{14}$/')
        );
    }

    
/**
     * @dataProvider creditCardNumberProvider
     */
    
public function testCreditCardNumberReturnsValidCreditCardNumber($type$regexp)
    {
        
$cardNumber $this->faker->creditCardNumber($type);
        
$this->assertRegExp($regexp$cardNumber);
        
$this->assertTrue(Luhn::isValid($cardNumber));
    }

    public function 
testCreditCardNumberCanFormatOutput()
    {
        
$this->assertRegExp('/^6011-d{4}-d{4}-d{4}$/'$this->faker->creditCardNumber('Discover Card'true));
    }

    public function 
testCreditCardExpirationDateReturnsValidDateByDefault()
    {
        
$expirationDate $this->faker->creditCardExpirationDate;
        
$this->assertTrue(intval($expirationDate->format('U')) > strtotime('now'));
        
$this->assertTrue(intval($expirationDate->format('U')) < strtotime('+36 months'));
    }

    public function 
testRandomCard()
    {
        
$cardDetails $this->faker->creditCardDetails;
        
$this->assertEquals(count($cardDetails), 4);
        
$this->assertEquals(array('type''number''name''expirationDate'), array_keys($cardDetails));
    }
}
Онлайн: 2
Реклама