BitBufferTest.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. use chillerlan\QRCode\BitBuffer;
  10. use chillerlan\QRCode\QRConst;
  11. class BitBufferTest extends PHPUnit_Framework_TestCase{
  12. /**
  13. * @var \chillerlan\QRCode\BitBuffer
  14. */
  15. protected $bitBuffer;
  16. protected function setUp(){
  17. $this->bitBuffer = new BitBuffer;
  18. }
  19. public function bitProvider(){
  20. return [
  21. [QRConst::MODE_NUMBER, 16],
  22. [QRConst::MODE_ALPHANUM, 32],
  23. [QRConst::MODE_BYTE, 64],
  24. [QRConst::MODE_KANJI, 128],
  25. ];
  26. }
  27. /**
  28. * @dataProvider bitProvider
  29. */
  30. public function testPut($data, $value){
  31. $this->bitBuffer->put($data, 4);
  32. $this->assertEquals($value, $this->bitBuffer->buffer[0]);
  33. $this->assertEquals(4, $this->bitBuffer->length);
  34. }
  35. public function testClear(){
  36. $this->bitBuffer->clear();
  37. $this->assertEquals([], $this->bitBuffer->buffer);
  38. $this->assertEquals(0, $this->bitBuffer->length);
  39. }
  40. }