* @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) * @link https://github.com/tecnickcom/tc-lib-barcode * * This file is part of tc-lib-barcode software library. */ namespace Test\Linear; use Test\TestUtil; /** * Barcode class test * * @since 2015-02-21 * @category Library * @package Barcode * @author Nicola Asuni * @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) * @link https://github.com/tecnickcom/tc-lib-barcode */ class PharmaTwoTracksTest extends TestUtil { protected function getTestObject(): \Com\Tecnick\Barcode\Barcode { return new \Com\Tecnick\Barcode\Barcode(); } /** * @throws \Com\Tecnick\Barcode\Exception * @throws \Com\Tecnick\Color\Exception */ public function testGetGrid(): void { $barcode = $this->getTestObject(); $type = $barcode->getBarcodeObj('PHARMA2T', '0123456789'); $grid = $type->getGrid(); $expected = "101000001010100010001010001000101\n000010101010001010101000100010001\n"; $this->assertEquals($expected, $grid); } /** * Regression: '0' (and other non-positive inputs) used to cause an infinite loop. * * @throws \Com\Tecnick\Barcode\Exception * @throws \Com\Tecnick\Color\Exception */ public function testInvalidInput(): void { $this->bcExpectException(\Com\Tecnick\Barcode\Exception::class); $barcode = $this->getTestObject(); $barcode->getBarcodeObj('PHARMA2T', '0'); } }