From b5f735ef082496a38a6b7c4111c2bce9da3d4f87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Unger?= <looky.msc@gmail.com>
Date: Tue, 29 May 2018 10:29:31 +0200
Subject: [PATCH] Replaced some requirements with conflicts

---
 composer.json                                              | 7 +++++--
 src/Rules/PHPUnit/AssertRuleHelper.php                     | 2 +-
 .../PHPUnit/Assert/AssertMethodTypeSpecifyingExtension.php | 2 +-
 .../Assert/AssertStaticMethodTypeSpecifyingExtension.php   | 2 +-
 src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php  | 2 +-
 .../PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php   | 2 +-
 src/Type/PHPUnit/MockBuilderDynamicReturnTypeExtension.php | 2 +-
 7 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/composer.json b/composer.json
index 087ac05..2af2dbf 100644
--- a/composer.json
+++ b/composer.json
@@ -12,7 +12,6 @@
 	"require": {
 		"php": "~7.1",
 		"phpstan/phpstan": "^0.10",
-		"phpunit/phpunit": "^7.0",
 		"nikic/php-parser": "^4.0"
 	},
 	"require-dev": {
@@ -22,7 +21,11 @@
 		"phing/phing": "^2.16.0",
 		"phpstan/phpstan-strict-rules": "^0.10",
 		"satooshi/php-coveralls": "^1.0",
-		"slevomat/coding-standard": "^4.5.2"
+		"slevomat/coding-standard": "^4.5.2",
+		"phpunit/phpunit": "^7.0"
+	},
+	"conflict": {
+		"phpunit/phpunit": "<7.0"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/src/Rules/PHPUnit/AssertRuleHelper.php b/src/Rules/PHPUnit/AssertRuleHelper.php
index ae74086..e29f86c 100644
--- a/src/Rules/PHPUnit/AssertRuleHelper.php
+++ b/src/Rules/PHPUnit/AssertRuleHelper.php
@@ -11,7 +11,7 @@ class AssertRuleHelper
 
 	public static function isMethodOrStaticCallOnTestCase(Node $node, Scope $scope): bool
 	{
-		$testCaseType = new ObjectType(\PHPUnit\Framework\TestCase::class);
+		$testCaseType = new ObjectType('PHPUnit\Framework\TestCase');
 		if ($node instanceof Node\Expr\MethodCall) {
 			$calledOnType = $scope->getType($node->var);
 		} elseif ($node instanceof Node\Expr\StaticCall) {
diff --git a/src/Type/PHPUnit/Assert/AssertMethodTypeSpecifyingExtension.php b/src/Type/PHPUnit/Assert/AssertMethodTypeSpecifyingExtension.php
index 310ebda..243a7d4 100644
--- a/src/Type/PHPUnit/Assert/AssertMethodTypeSpecifyingExtension.php
+++ b/src/Type/PHPUnit/Assert/AssertMethodTypeSpecifyingExtension.php
@@ -24,7 +24,7 @@ public function setTypeSpecifier(TypeSpecifier $typeSpecifier): void
 
 	public function getClass(): string
 	{
-		return \PHPUnit\Framework\TestCase::class;
+		return 'PHPUnit\Framework\TestCase';
 	}
 
 	public function isMethodSupported(
diff --git a/src/Type/PHPUnit/Assert/AssertStaticMethodTypeSpecifyingExtension.php b/src/Type/PHPUnit/Assert/AssertStaticMethodTypeSpecifyingExtension.php
index 3e7f7e1..f33ee7a 100644
--- a/src/Type/PHPUnit/Assert/AssertStaticMethodTypeSpecifyingExtension.php
+++ b/src/Type/PHPUnit/Assert/AssertStaticMethodTypeSpecifyingExtension.php
@@ -24,7 +24,7 @@ public function setTypeSpecifier(TypeSpecifier $typeSpecifier): void
 
 	public function getClass(): string
 	{
-		return \PHPUnit\Framework\Assert::class;
+		return 'PHPUnit\Framework\Assert';
 	}
 
 	public function isStaticMethodSupported(
diff --git a/src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php b/src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php
index 9198ab6..b68b010 100644
--- a/src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php
+++ b/src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php
@@ -26,7 +26,7 @@ class CreateMockDynamicReturnTypeExtension implements \PHPStan\Type\DynamicMetho
 
 	public function getClass(): string
 	{
-		return \PHPUnit\Framework\TestCase::class;
+		return 'PHPUnit\Framework\TestCase';
 	}
 
 	public function isMethodSupported(MethodReflection $methodReflection): bool
diff --git a/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php b/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
index d2bd4df..4c7dbe6 100644
--- a/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
+++ b/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
@@ -15,7 +15,7 @@ class GetMockBuilderDynamicReturnTypeExtension implements \PHPStan\Type\DynamicM
 
 	public function getClass(): string
 	{
-		return \PHPUnit\Framework\TestCase::class;
+		return 'PHPUnit\Framework\TestCase';
 	}
 
 	public function isMethodSupported(MethodReflection $methodReflection): bool
diff --git a/src/Type/PHPUnit/MockBuilderDynamicReturnTypeExtension.php b/src/Type/PHPUnit/MockBuilderDynamicReturnTypeExtension.php
index 22c828b..b75c69f 100644
--- a/src/Type/PHPUnit/MockBuilderDynamicReturnTypeExtension.php
+++ b/src/Type/PHPUnit/MockBuilderDynamicReturnTypeExtension.php
@@ -25,7 +25,7 @@ public function setBroker(Broker $broker): void
 
 	public function getClass(): string
 	{
-		$testCase = $this->broker->getClass(\PHPUnit\Framework\TestCase::class);
+		$testCase = $this->broker->getClass('PHPUnit\Framework\TestCase');
 		$mockBuilderType = ParametersAcceptorSelector::selectSingle(
 			$testCase->getNativeMethod('getMockBuilder')->getVariants()
 		)->getReturnType();