🛀 QRDataModeInterface: validate data on init, test cleanup

This commit is contained in:
codemasher
2021-11-28 18:25:06 +01:00
parent 3d563bfcc0
commit 48b6c21090
12 changed files with 71 additions and 203 deletions
+3 -32
View File
@@ -10,43 +10,14 @@
namespace chillerlan\QRCodeTest\Data;
use chillerlan\QRCode\Data\{Number, QRCodeDataException};
use chillerlan\QRCode\Data\Number;
/**
* Tests the Number class
*/
final class NumberTest extends DatainterfaceTestAbstract{
/** @internal */
protected array $testdata = [Number::class, '0123456789'];
/** @internal */
protected array $expected = [
16, 40, 12, 86, 106, 105, 0, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
17, 236, 17, 236, 17, 236, 17, 236,
201, 141, 102, 116, 238, 162, 239, 230,
222, 37, 79, 192, 42, 109, 188, 72,
89, 63, 168, 151
];
/**
* Tests if an exception is thrown when an invalid character is encountered
*/
public function testGetCharCodeException():void{
$this->expectException(QRCodeDataException::class);
$this->expectExceptionMessage('illegal char: "#" [35]');
$this->testdata = [Number::class, '#'];
$this->setTestData();
}
protected string $FQN = Number::class;
protected string $testdata = '0123456789';
}