Chris@14
|
1 <?php
|
Chris@14
|
2 /*
|
Chris@14
|
3 * This file is part of PharIo\Version.
|
Chris@14
|
4 *
|
Chris@14
|
5 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
|
Chris@14
|
6 *
|
Chris@14
|
7 * For the full copyright and license information, please view the LICENSE
|
Chris@14
|
8 * file that was distributed with this source code.
|
Chris@14
|
9 */
|
Chris@14
|
10
|
Chris@14
|
11 namespace PharIo\Version;
|
Chris@14
|
12
|
Chris@14
|
13 use PHPUnit\Framework\TestCase;
|
Chris@14
|
14
|
Chris@14
|
15 /**
|
Chris@14
|
16 * @covers PharIo\Version\SpecificMajorAndMinorVersionConstraint
|
Chris@14
|
17 */
|
Chris@14
|
18 class SpecificMajorAndMinorVersionConstraintTest extends TestCase {
|
Chris@14
|
19 public function versionProvider() {
|
Chris@14
|
20 return [
|
Chris@14
|
21 // compliant versions
|
Chris@14
|
22 [1, 0, new Version('1.0.2'), true],
|
Chris@14
|
23 [1, 0, new Version('1.0.3'), true],
|
Chris@14
|
24 [1, 1, new Version('1.1.1'), true],
|
Chris@14
|
25 // non-compliant versions
|
Chris@14
|
26 [2, 9, new Version('0.9.9'), false],
|
Chris@14
|
27 [3, 2, new Version('2.2.3'), false],
|
Chris@14
|
28 [2, 8, new Version('2.9.9'), false],
|
Chris@14
|
29 ];
|
Chris@14
|
30 }
|
Chris@14
|
31
|
Chris@14
|
32 /**
|
Chris@14
|
33 * @dataProvider versionProvider
|
Chris@14
|
34 *
|
Chris@14
|
35 * @param int $major
|
Chris@14
|
36 * @param int $minor
|
Chris@14
|
37 * @param Version $version
|
Chris@14
|
38 * @param bool $expectedResult
|
Chris@14
|
39 */
|
Chris@14
|
40 public function testReturnsTrueForCompliantVersions($major, $minor, Version $version, $expectedResult) {
|
Chris@14
|
41 $constraint = new SpecificMajorAndMinorVersionConstraint('foo', $major, $minor);
|
Chris@14
|
42
|
Chris@14
|
43 $this->assertSame($expectedResult, $constraint->complies($version));
|
Chris@14
|
44 }
|
Chris@14
|
45 }
|