C:\xampp\phpMyAdmin\vendor\bacon\bacon-qr-code\tests\BaconQrCode\Common\VersionTest.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
 * BaconQrCode
 *
 * @link      http://github.com/Bacon/BaconQrCode For the canonical source repository
 * @copyright 2013 Ben 'DASPRiD' Scholzen
 * @license   http://opensource.org/licenses/BSD-2-Clause Simplified BSD License
 */

namespace BaconQrCode\Common;

use 
PHPUnit_Framework_TestCase as TestCase;

class 
VersionTest extends TestCase
{
    public static function 
versionProvider()
    {
        
$array = array();

        for (
$i 1$i <= 40$i++) {
            
$array[] = array($i$i 17);
        }

        return 
$array;
    }

    public static function 
decodeInformationProvider()
    {
        return array(
            array(
70x07c94),
            array(
120x0c762),
            array(
170x1145d),
            array(
220x168c9),
            array(
270x1b08e),
            array(
320x209d5),
        );
    }

    
/**
     * @dataProvider versionProvider
     * @param        integer $versionNumber
     * @param        integer $dimension
     */
    
public function testVersionForNumber($versionNumber$dimension)
    {
        
$version Version::getVersionForNumber($versionNumber);

        
$this->assertNotNull($version);
        
$this->assertEquals($versionNumber$version->getVersionNumber());
        
$this->assertNotNull($version->getAlignmentPatternCenters());

        if (
$versionNumber 1) {
            
$this->assertTrue(count($version->getAlignmentPatternCenters()) > 0);
        }

        
$this->assertEquals($dimension$version->getDimensionForVersion());
        
$this->assertNotNull($version->getEcBlocksForLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::H)));
        
$this->assertNotNull($version->getEcBlocksForLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::L)));
        
$this->assertNotNull($version->getEcBlocksForLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::M)));
        
$this->assertNotNull($version->getEcBlocksForLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::Q)));
        
$this->assertNotNull($version->buildFunctionPattern());
    }

    
/**
     * @dataProvider versionProvider
     * @param        integer $versionNumber
     * @param        integer $dimension
     */
    
public function testGetProvisionalVersionForDimension($versionNumber$dimension)
    {
        
$this->assertEquals(
            
$versionNumber,
            
Version::getProvisionalVersionForDimension($dimension)->getVersionNumber()
        );
    }

    
/**
     * @dataProvider decodeInformationProvider
     * @param        integer $expectedVersion
     * @param        integer $mask
     */
    
public function testDecodeVersionInformation($expectedVersion$mask)
    {
        
$version Version::decodeVersionInformation($mask);
        
$this->assertNotNull($version);
        
$this->assertEquals($expectedVersion$version->getVersionNumber());
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586