Пример #1
0
 /**
  * @dataProvider getTaxCodesAndExpectedResults
  * @param array $taxCodes
  */
 public function testTaxCodeParser(array $taxCodes)
 {
     $taxCodeParser = new TaxCodeParser();
     foreach ($taxCodes as $taxCodeString => $expectedResults) {
         $taxCode = new TaxCodeEntity();
         $taxCode->setDescriptionEnglish($taxCodeString);
         $results = $taxCodeParser->parseTaxCode($taxCode);
         $this->assertCount(count($expectedResults), $results);
         if (count($expectedResults)) {
             foreach ($expectedResults as $key => $expectedResult) {
                 /** @var TaxEntity $result */
                 $result = $results[$key];
                 $this->assertEquals($expectedResult[0], $result->getName());
                 $this->assertEquals($expectedResult[1], $result->getRate());
                 if (isset($expectedResult[2])) {
                     $this->assertEquals($expectedResult[2], $result->isCompound());
                 } else {
                     $this->assertFalse($result->isCompound());
                 }
             }
         }
     }
 }