CommerceGuys\Tax\Tests\Resolver\EuTaxTypeResolverTest::dataProvider PHP Method

dataProvider() public method

Provides data for the resolver test.
public dataProvider ( )
    public function dataProvider()
    {
        $mockTaxableBuilder = $this->getMockBuilder('CommerceGuys\\Tax\\TaxableInterface');
        $physicalTaxable = $mockTaxableBuilder->getMock();
        $physicalTaxable->expects($this->any())->method('isPhysical')->will($this->returnValue(true));
        $digitalTaxable = $mockTaxableBuilder->getMock();
        $mockAddressBuilder = $this->getMockBuilder('CommerceGuys\\Addressing\\Address');
        $serbianAddress = $mockAddressBuilder->getMock();
        $serbianAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('RS'));
        $frenchAddress = $mockAddressBuilder->getMock();
        $frenchAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('FR'));
        $germanAddress = $mockAddressBuilder->getMock();
        $germanAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('DE'));
        $usAddress = $mockAddressBuilder->getMock();
        $usAddress->expects($this->any())->method('getCountryCode')->will($this->returnValue('US'));
        $date1 = new \DateTime('2014-02-24');
        $date2 = new \DateTime('2015-02-24');
        $notApplicable = EuTaxTypeResolver::NO_APPLICABLE_TAX_TYPE;
        return [[$physicalTaxable, $this->getContext($germanAddress, $frenchAddress, '123'), 'eu_ic_vat'], [$physicalTaxable, $this->getContext($frenchAddress, $frenchAddress, '123'), 'fr_vat'], [$physicalTaxable, $this->getContext($germanAddress, $frenchAddress), 'fr_vat'], [$physicalTaxable, $this->getContext($germanAddress, $frenchAddress, '', ['DE']), 'de_vat'], [$digitalTaxable, $this->getContext($germanAddress, $frenchAddress, '', [], $date1), 'fr_vat'], [$digitalTaxable, $this->getContext($germanAddress, $frenchAddress, '', [], $date2), 'de_vat'], [$digitalTaxable, $this->getContext($germanAddress, $usAddress, '', [], $date2), []], [$digitalTaxable, $this->getContext($germanAddress, $usAddress, '', ['FR'], $date2), 'de_vat'], [$digitalTaxable, $this->getContext($germanAddress, $usAddress, '123', ['FR'], $date2), $notApplicable], [$physicalTaxable, $this->getContext($serbianAddress, $frenchAddress), []], [$physicalTaxable, $this->getContext($frenchAddress, $serbianAddress), []]];
    }