Skip to content

Commit f6e8e03

Browse files
committed
Refactor unit tests.
1 parent be2010f commit f6e8e03

14 files changed

+139
-143
lines changed

test/TestUtilsTest/Constraint/ExtendsOrImplementsTest.php

+10-28
Original file line numberDiff line numberDiff line change
@@ -6,45 +6,27 @@
66
* @license MIT
77
* @copyright 2019 Cross Solution <http://cross-solution.de>
88
*/
9-
9+
1010
declare(strict_types=1);
1111

1212
namespace Cross\TestUtilsTest\Constraint;
1313

1414
use Cross\TestUtils\Constraint\ExtendsOrImplements;
1515
use Cross\TestUtils\TestCase\TestDefaultAttributesTrait;
16+
use PHPUnit\Framework\TestCase;
1617

1718
/**
1819
* Tests for \Cross\TestUtils\Constraint\ExtendsOrImplements
19-
*
20+
*
2021
* @covers \Cross\TestUtils\Constraint\ExtendsOrImplements
2122
* @author Mathias Gelhausen <[email protected]>
2223
*
2324
* @group Cross.TestUtils
2425
* @group Cross.TestUtils.Constraint
2526
* @group Cross.TestUtils.Constraint.ExtendsOrImplementsTest
2627
*/
27-
class ExtendsOrImplementsTest extends \PHPUnit_Framework_TestCase
28+
class ExtendsOrImplementsTest extends TestCase
2829
{
29-
use TestDefaultAttributesTrait;
30-
31-
private $defaultAttributes = [
32-
ExtendsOrImplements::class,
33-
'result' => [],
34-
'parentsAndInterfaces' => [],
35-
];
36-
37-
public function testCreateInstanceSetsParentsAndInterfaces()
38-
{
39-
$classes = [
40-
\stdClass::class
41-
];
42-
43-
$target = new ExtendsOrImplements($classes);
44-
45-
static::assertAttributeEquals($classes, 'parentsAndInterfaces', $target);
46-
}
47-
4830
public function testCountReturnsExpectedValue()
4931
{
5032
$target = new ExtendsOrImplements(['one', 'two', 'three']);
@@ -77,12 +59,12 @@ public function testEvaluateThrowsExceptionWithCorrectFailureDescription()
7759

7860
try {
7961
$target->evaluate($subject);
80-
static::fail('Expected exception of type ' . \PHPUnit_Framework_ExpectationFailedException::class . ' but none was thrown.');
81-
} catch (\PHPUnit_Framework_ExpectationFailedException $e) {
62+
static::fail('Expected exception of type ' . \PHPUnit\Framework\ExpectationFailedException::class . ' but none was thrown.');
63+
} catch (\PHPUnit\Framework\ExpectationFailedException $e) {
8264
$message = $e->getMessage();
8365

84-
static::assertContains('+ ' . \ArrayObject::class, $message);
85-
static::assertContains('- ' . \Exception::class, $message);
66+
static::assertStringContainsString('+ ' . \ArrayObject::class, $message);
67+
static::assertStringContainsString('- ' . \Exception::class, $message);
8668
}
8769
}
8870

@@ -91,7 +73,7 @@ public function testEvaluateThrowsExceptionWithCorrectDescriptionFromObject()
9173
$class = new class extends \ArrayObject {};
9274
$target = new ExtendsOrImplements([\Exception::class]);
9375

94-
$this->expectException(\PHPUnit_Framework_Exception::class);
76+
$this->expectException(\PHPUnit\Framework\Exception::class);
9577
$this->expectExceptionMessage(get_class($class));
9678

9779
$target->evaluate($class);
@@ -103,7 +85,7 @@ public function testEvaluateThrowsExceptionWithCorrectDescriptionFromString()
10385
$class = get_class($subject);
10486
$target = new ExtendsOrImplements([\Exception::class]);
10587

106-
$this->expectException(\PHPUnit_Framework_Exception::class);
88+
$this->expectException(\PHPUnit\Framework\Exception::class);
10789
$this->expectExceptionMessage($class);
10890

10991
$target->evaluate($class);

test/TestUtilsTest/Constraint/UsesTraitsTest.php

+8-18
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
use Cross\TestUtils\Constraint\UsesTraits;
1414
use Cross\TestUtils\TestCase\AssertUsesTraitsTrait;
15+
use PHPUnit\Framework\TestCase;
1516

1617
/**
1718
* Tests for \Cross\TestUtils\Constraint\UsesTraits
@@ -23,19 +24,8 @@
2324
* @group Cross.TestUtils.Constraint
2425
* @group Cross.TestUtils.Constraint.UsesTraitsTrait
2526
*/
26-
class UsesTraitsTest extends \PHPUnit_Framework_TestCase
27+
class UsesTraitsTest extends TestCase
2728
{
28-
public function testCreateInstanceSetsParentsAndInterfaces()
29-
{
30-
$traits = [
31-
AssertUsesTraitsTrait::class,
32-
];
33-
34-
$target = new UsesTraits($traits);
35-
36-
static::assertAttributeEquals($traits, 'expectedTraits', $target);
37-
}
38-
3929
public function testCountReturnsExpectedValue()
4030
{
4131
$target = new UsesTraits(['one', 'two', 'three']);
@@ -68,12 +58,12 @@ public function testEvaluateThrowsExceptionWithCorrectFailureDescription()
6858

6959
try {
7060
$target->evaluate($subject);
71-
static::fail('Expected exception of type ' . \PHPUnit_Framework_ExpectationFailedException::class . ' but none was thrown.');
72-
} catch (\PHPUnit_Framework_ExpectationFailedException $e) {
61+
static::fail('Expected exception of type ' . \PHPUnit\Framework\ExpectationFailedException::class . ' but none was thrown.');
62+
} catch (\PHPUnit\Framework\ExpectationFailedException $e) {
7363
$message = $e->getMessage();
7464

75-
static::assertContains('+ ' . AssertUsesTraitsTrait::class, $message);
76-
static::assertContains('- nonExistentTrait', $message);
65+
static::assertStringContainsString('+ ' . AssertUsesTraitsTrait::class, $message);
66+
static::assertStringContainsString('- nonExistentTrait', $message);
7767
}
7868
}
7969

@@ -83,7 +73,7 @@ public function testEvaluateThrowsExceptionWithCorrectDescriptionFromString()
8373
$class = get_class($subject);
8474
$target = new UsesTraits([AssertUsesTraitsTrait::class]);
8575

86-
$this->expectException(\PHPUnit_Framework_Exception::class);
76+
$this->expectException(\PHPUnit\Framework\Exception::class);
8777
$this->expectExceptionMessage($class);
8878

8979
$target->evaluate($class);
@@ -95,7 +85,7 @@ public function testEvaluateThrowsExceptionWithCorrectDescriptionFromObject()
9585
$class = get_class($subject);
9686
$target = new UsesTraits([AssertUsesTraitsTrait::class]);
9787

98-
$this->expectException(\PHPUnit_Framework_Exception::class);
88+
$this->expectException(\PHPUnit\Framework\Exception::class);
9989
$this->expectExceptionMessage($class);
10090

10191
$target->evaluate($subject);

test/TestUtilsTest/Exception/InvalidUsageExceptionTest.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111

1212
namespace Cross\TestUtilsTest\Exception;
1313

14-
use Cross\TestUtils\Exception\ExceptionInterface;
1514
use Cross\TestUtils\Exception\InvalidUsageException;
16-
use Cross\TestUtils\Exception\TemplatedMessageExceptionTrait;
15+
use PHPUnit\Framework\TestCase;
1716

17+
use Cross\TestUtils\Exception\TemplatedMessageExceptionTrait;
1818
use Cross\TestUtils\TestCase\TestUsesTraitsTrait;
1919
use Cross\TestUtils\TestCase\TestInheritanceTrait;
2020

21+
use Cross\TestUtils\Exception\ExceptionInterface;
22+
2123
/**
2224
* Tests for \Cross\TestUtils\Exception\InvalidUsageException
2325
*
@@ -28,12 +30,12 @@
2830
* @group Cross.TestUtils.Exception
2931
* @group Cross.TestUtils.Exception.InvalidUsageException
3032
*/
31-
class InvalidUsageExceptionTest extends \PHPUnit_Framework_TestCase
33+
class InvalidUsageExceptionTest extends TestCase
3234
{
3335
use TestInheritanceTrait, TestUsesTraitsTrait;
3436

3537
private $target = InvalidUsageException::class;
36-
private $inheritance = [ \PHPUnit_Framework_Exception::class, ExceptionInterface::class ];
38+
private $inheritance = [ \PHPUnit\Framework\Exception::class, ExceptionInterface::class ];
3739
private $usesTraits = [ TemplatedMessageExceptionTrait::class ];
3840

3941
}

test/TestUtilsTest/Exception/TemplatedMessageExceptionTraitTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Cross\TestUtilsTest\Exception;
1313

1414
use Cross\TestUtils\Exception\InvalidUsageException;
15+
use PHPUnit\Framework\TestCase;
1516

1617
/**
1718
* Tests for \Cross\TestUtils\Exception\TemplatedMessageExceptionTrait
@@ -23,7 +24,7 @@
2324
* @group Cross.TestUtils.Exception
2425
* @group Cross.TestUtils.Exception.TemplatedMessageExceptionTrait
2526
*/
26-
class TemplatedMessageExceptionTraitTest extends \PHPUnit_Framework_TestCase
27+
class TemplatedMessageExceptionTraitTest extends TestCase
2728
{
2829
public function testCreateWithoutPrevious()
2930
{

test/TestUtilsTest/TestCase/AssertInheritanceTraitTest.php

+33-7
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,25 @@
88
*/
99

1010
declare(strict_types=1);
11-
11+
1212
namespace Cross\TestUtilsTest\TestCase;
1313

1414
use Cross\TestUtils\Constraint\ExtendsOrImplements;
1515
use Cross\TestUtils\TestCase\AssertInheritanceTrait;
1616

17+
use PHPUnit\Framework\TestCase;
18+
1719
/**
1820
* Tests for \Cross\TestUtils\TestCase\AssertInheritanceTrait
19-
*
21+
*
2022
* @covers \Cross\TestUtils\TestCase\AssertInheritanceTrait
2123
* @author Mathias Gelhausen <[email protected]>
2224
*
2325
* @group Cross.TestUtils
2426
* @group Cross.TestUtils.TestCase
2527
* @group Cross.TestUtils.TestCase.AssertInheritanceTrait
2628
*/
27-
class AssertInheritanceTraitTest extends \PHPUnit_Framework_TestCase
29+
class AssertInheritanceTraitTest extends TestCase
2830
{
2931
public function testAssertMethodCallsAssertThat()
3032
{
@@ -44,9 +46,7 @@ public static function assertThat($object, $constraint, $message = '')
4446
}
4547
};
4648

47-
$inheritances = [
48-
'class', 'trait'
49-
];
49+
$inheritances = [];
5050

5151
$message = 'test';
5252

@@ -57,6 +57,32 @@ public static function assertThat($object, $constraint, $message = '')
5757
static::assertSame($object, $target::$object);
5858
static::assertEquals($message, $target::$message);
5959
static::assertInstanceOf(ExtendsOrImplements::class, $target::$constraint);
60-
static::assertAttributeEquals($inheritances, 'parentsAndInterfaces', $target::$constraint);
60+
}
61+
62+
public function testAssertMethodPassesCorrectValueOfInheritances()
63+
{
64+
$target = new class
65+
{
66+
use AssertInheritanceTrait;
67+
68+
public static $inheritances;
69+
70+
public static function extendsOrImplements(iterable $parentsAndInterfaces): ExtendsOrImplements
71+
{
72+
static::$inheritances = $parentsAndInterfaces;
73+
return new ExtendsOrImplements($parentsAndInterfaces);
74+
}
75+
76+
public static function assertThat($object, $constraints, $message = '')
77+
{
78+
79+
}
80+
};
81+
82+
$inheritances = ['class', 'trait'];
83+
84+
$target->assertInheritance($inheritances, new \stdClass);
85+
86+
static::assertEquals($inheritances, $target::$inheritances);
6187
}
6288
}

test/TestUtilsTest/TestCase/AssertUsesTraitsTraitTest.php

+31-6
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,19 @@
1313

1414
use Cross\TestUtils\Constraint\UsesTraits;
1515
use Cross\TestUtils\TestCase\AssertUsesTraitsTrait;
16+
use PHPUnit\Framework\TestCase;
1617

1718
/**
1819
* Tests for \Cross\TestUtils\TestCase\AssertUsesTraitsTrait
19-
*
20+
*
2021
* @covers \Cross\TestUtils\TestCase\AssertUsesTraitsTrait
2122
* @author Mathias Gelhausen <[email protected]>
2223
*
2324
* @group Cross.TestUtils
2425
* @group Cross.TestUtils.TestCase
2526
* @group Cross.TestUtils.TestCase.AssertUsesTraitsTrait
2627
*/
27-
class AssertUsesTraitsTraitTest extends \PHPUnit_Framework_TestCase
28+
class AssertUsesTraitsTraitTest extends TestCase
2829
{
2930
public function testAssertMethodCallsAssertThat()
3031
{
@@ -44,9 +45,7 @@ public static function assertThat($object, $constraint, $message = '')
4445
}
4546
};
4647

47-
$usesTraitss = [
48-
'class', 'trait'
49-
];
48+
$usesTraitss = [];
5049

5150
$message = 'test';
5251

@@ -57,6 +56,32 @@ public static function assertThat($object, $constraint, $message = '')
5756
static::assertSame($object, $target::$object);
5857
static::assertEquals($message, $target::$message);
5958
static::assertInstanceOf(UsesTraits::class, $target::$constraint);
60-
static::assertAttributeEquals($usesTraitss, 'expectedTraits', $target::$constraint);
59+
}
60+
61+
public function testAssertMethodPassesCorrectValueOfTraits()
62+
{
63+
$target = new class
64+
{
65+
use AssertUsesTraitsTrait;
66+
67+
public static $traits;
68+
69+
public static function usesTraits(iterable $usesTraits): UsesTraits
70+
{
71+
static::$traits = $usesTraits;
72+
return new UsesTraits($usesTraits);
73+
}
74+
75+
public static function assertThat($object, $constraints, $message = '')
76+
{
77+
78+
}
79+
};
80+
81+
$traits = ['class', 'trait'];
82+
83+
$target->assertUsesTraits($traits, new \stdClass);
84+
85+
static::assertEquals($traits, $target::$traits);
6186
}
6287
}

test/TestUtilsTest/TestCase/ContainerDoubleTraitTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Cross\TestUtils\Exception\InvalidUsageException;
1515
use Cross\TestUtils\TestCase\ContainerDoubleTrait;
16+
use PHPUnit\Framework\TestCase;
1617
use Prophecy\Argument;
1718
use phpmock\prophecy\PHPProphet;
1819

@@ -26,7 +27,7 @@
2627
* @group Cross.TestUtils.TestCase
2728
* @group Cross.TestUtils.TestCase.ContainerDoubleTrait
2829
*/
29-
class ContainerDoubleTraitTest extends \PHPUnit_Framework_TestCase
30+
class ContainerDoubleTraitTest extends TestCase
3031
{
3132

3233
public function servicesProvider()

test/TestUtilsTest/TestCase/CreateProphecyTraitTest.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
namespace Cross\TestUtilsTest\TestCase;
1313

1414
use Cross\TestUtils\Exception\InvalidUsageException;
15-
1615
use Cross\TestUtils\TestCase\CreateProphecyTrait;
17-
16+
use PHPUnit\Framework\TestCase;
1817
use Prophecy\Prophecy\ObjectProphecy;
1918

2019
/**
@@ -27,11 +26,11 @@
2726
* @group Cross.TestUtils.TestCase
2827
* @group Cross.TestUtils.TestCase.CreateProphecyTrait
2928
*/
30-
class CreateProphecyTraitTest extends \PHPUnit_Framework_TestCase
29+
class CreateProphecyTraitTest extends TestCase
3130
{
3231
private $target;
3332

34-
public function setup()
33+
protected function setUp(): void
3534
{
3635
$this->target = new class
3736
{

0 commit comments

Comments
 (0)