Esempio n. 1
0
 /**
  * @test
  */
 public function validationTest()
 {
     $dataArr = ['5901234123457' => [true, true], '9780735200449' => [true, true], '002210034567' => [false, true], '7123456789011' => [false, false], '412345678908' => [false, false], '8x60603226779' => [false, false], '8' => [true, false], '' => [false, false]];
     foreach ($dataArr as $data => &$info) {
         try {
             $bc = new Ean13($data, $info[0]);
             $this->assertTrue($info[1]);
             $this->assertEquals($bc->getProductCode(), \substr($data, 7, 5));
             $this->assertEquals($bc->withProductCode('56')->getProductCode(), '00056');
             $this->assertEquals($bc->isUpcaCompatible(), $data[0] == '0');
             if ($bc->isUpcaCompatible()) {
                 $this->assertStringStartsWith(\substr($data, 1), $bc->toUpca()->getData());
             } else {
                 try {
                     $bc->toUpca();
                     $this->assertTrue(false);
                 } catch (\Zeus\Barcode\Exception $ex) {
                     $this->assertTrue(true);
                 }
             }
         } catch (\Exception $ex) {
             $this->assertFalse($info[1]);
         }
     }
 }