BitBufferTest.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Class BitBufferTest
  4. *
  5. * @filesource BitBufferTest.php
  6. * @created 08.02.2016
  7. * @package chillerlan\QRCodeTest\Helpers
  8. * @author Smiley <smiley@chillerlan.net>
  9. * @copyright 2015 Smiley
  10. * @license MIT
  11. */
  12. namespace chillerlan\QRCodeTest\Helpers;
  13. use chillerlan\QRCode\{QRCode, Helpers\BitBuffer};
  14. use chillerlan\QRCodeTest\QRTestAbstract;
  15. class BitBufferTest extends QRTestAbstract{
  16. /**
  17. * @var \chillerlan\QRCode\Helpers\BitBuffer
  18. */
  19. protected $bitBuffer;
  20. protected function setUp(){
  21. $this->bitBuffer = new BitBuffer;
  22. }
  23. public function bitProvider(){
  24. return [
  25. [QRCode::DATA_NUMBER, 16],
  26. [QRCode::DATA_ALPHANUM, 32],
  27. [QRCode::DATA_BYTE, 64],
  28. [QRCode::DATA_KANJI, 128],
  29. ];
  30. }
  31. /**
  32. * @dataProvider bitProvider
  33. */
  34. public function testPut($data, $value){
  35. $this->bitBuffer->put($data, 4);
  36. $this->assertSame($value, $this->bitBuffer->buffer[0]);
  37. $this->assertSame(4, $this->bitBuffer->length);
  38. }
  39. public function testClear(){
  40. $this->bitBuffer->clear();
  41. $this->assertSame([], $this->bitBuffer->buffer);
  42. $this->assertSame(0, $this->bitBuffer->length);
  43. }
  44. }