MaskPatternTesterTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Class MaskPatternTesterTest
  4. *
  5. * @filesource MaskPatternTesterTest.php
  6. * @created 24.11.2017
  7. * @package chillerlan\QRCodeTest\Data
  8. * @author Smiley <smiley@chillerlan.net>
  9. * @copyright 2017 Smiley
  10. * @license MIT
  11. */
  12. namespace chillerlan\QRCodeTest\Data;
  13. use chillerlan\QRCode\Common\MaskPattern;
  14. use chillerlan\QRCode\QROptions;
  15. use chillerlan\QRCode\Data\{Byte, MaskPatternTester, QRData};
  16. use PHPUnit\Framework\TestCase;
  17. /**
  18. * MaskPatternTester coverage test
  19. */
  20. final class MaskPatternTesterTest extends TestCase{
  21. /**
  22. * Tests getting the best mask pattern
  23. */
  24. public function testMaskpattern():void{
  25. $dataInterface = new QRData(new QROptions(['version' => 10]), [[Byte::class, 'test']]);
  26. $this::assertSame(3, (new MaskPatternTester($dataInterface))->getBestMaskPattern()->getPattern());
  27. }
  28. /**
  29. * Tests getting the penalty value for a given mask pattern
  30. */
  31. public function testMaskpatternID():void{
  32. $dataInterface = new QRData(new QROptions(['version' => 10]), [[Byte::class, 'test']]);
  33. $this::assertSame(4243, (new MaskPatternTester($dataInterface))->testPattern(new MaskPattern(MaskPattern::PATTERN_011)));
  34. }
  35. }