BitBufferTest.php 1.0 KB

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