diff --git a/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_greater_than.php.inc b/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_greater_than.php.inc new file mode 100644 index 00000000..1df04733 --- /dev/null +++ b/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_greater_than.php.inc @@ -0,0 +1,33 @@ + $param); + self::assertTrue(0 >= $param); + } +} + +?> +----- + diff --git a/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_less_than.php.inc b/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_less_than.php.inc new file mode 100644 index 00000000..86d6e240 --- /dev/null +++ b/rules-tests/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture/assert_true_to_less_than.php.inc @@ -0,0 +1,33 @@ + +----- + diff --git a/rules/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php b/rules/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php index 16e9b5df..74e60108 100644 --- a/rules/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php +++ b/rules/CodeQuality/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php @@ -122,7 +122,12 @@ private function processCallWithBinaryOp(MethodCall|StaticCall $node, BinaryOp $ 'assertFalse' => $binaryOpWithAssertMethod->getNotAssertMethodName(), ]); - $this->changeArgumentsOrder($node); + $shouldKeepOrder = $binaryOp instanceof Greater + || $binaryOp instanceof GreaterOrEqual + || $binaryOp instanceof Smaller + || $binaryOp instanceof SmallerOrEqual; + + $this->changeArgumentsOrder($node, $shouldKeepOrder); return $node; } @@ -130,14 +135,14 @@ private function processCallWithBinaryOp(MethodCall|StaticCall $node, BinaryOp $ return null; } - private function changeArgumentsOrder(MethodCall|StaticCall $node): void + private function changeArgumentsOrder(MethodCall|StaticCall $node, bool $shouldKeepOrder): void { $oldArguments = $node->getArgs(); /** @var BinaryOp $expression */ $expression = $oldArguments[0]->value; - if ($this->isConstantValue($expression->left)) { + if ($this->isConstantValue($expression->left) && ! $shouldKeepOrder) { $firstArgument = new Arg($expression->left); $secondArgument = new Arg($expression->right); } else {