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
|
<?php declare(strict_types = 1);
/*
* This file is part of PharIo\Version.
*
* (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PharIo\Version;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
/**
* @covers \PharIo\Version\ExactVersionConstraint
*/
class ExactVersionConstraintTest extends TestCase {
public static function compliantVersionProvider() {
return [
['1.0.2', new Version('1.0.2')],
['4.8.9', new Version('4.8.9')],
['4.8.0', new Version('4.8')],
['1.2.3-dev', new Version('1.2.3-dev')],
['1.2.3+abc', new Version('1.2.3+abc')]
];
}
public static function nonCompliantVersionProvider() {
return [
['1.0.2', new Version('1.0.3')],
['4.8.9', new Version('4.7.9')],
['4.8', new Version('4.8.5')],
['1.2.3+abc', new Version('1.2.3+def')]
];
}
/**
* @param string $constraintValue
*/
#[DataProvider('compliantVersionProvider')]
public function testReturnsTrueForCompliantVersion($constraintValue, Version $version): void {
$constraint = new ExactVersionConstraint($constraintValue);
$this->assertTrue($constraint->complies($version));
}
/**
* @param string $constraintValue
*/
#[DataProvider('nonCompliantVersionProvider')]
public function testReturnsFalseForNonCompliantVersion($constraintValue, Version $version): void {
$constraint = new ExactVersionConstraint($constraintValue);
$this->assertFalse($constraint->complies($version));
}
}
|