Passed
Branch master (947605)
by smiley
03:06
created

BitBufferTest::bitProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

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