Skip to content

Conversation

@martin-georgiev
Copy link
Owner

@martin-georgiev martin-georgiev commented Mar 26, 2025

Summary by CodeRabbit

  • Refactor

    • Improved data type consistency in numeric processing by switching from string representations to native integer values.
    • Enhanced error handling to deliver clear, targeted feedback when invalid numeric inputs are encountered.
  • New Features

    • Introduced new, specialized error messages to indicate specific validation issues with numeric data.
  • Tests

    • Expanded test coverage to include additional scenarios for invalid entries, boundary cases, and out-of-range values.
    • Streamlined test setups for more reliable validation of numeric transformations.

@coderabbitai
Copy link

coderabbitai bot commented Mar 26, 2025

Walkthrough

This pull request introduces several changes to the handling of integer arrays within the Doctrine DBAL types. Method signatures for minimum and maximum value getters are updated to return integers instead of strings. The validation logic now leverages a new regex constant and a dedicated private method to throw specific exceptions for various error scenarios. New exception classes are added for both database and PHP conversion errors, and test cases have been updated to cover valid, invalid, and out-of-range scenarios.

Changes

File(s) Change Summary
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php Updated method signatures (getMinValue, getMaxValue) from string to int; added INTEGER_REGEX constant; refactored isValidArrayItemForDatabase to use a new private throwIfInvalidArrayItemForDatabase method; modified transformArrayItemForPHP to throw InvalidIntegerArrayItemForPHPException.
src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php,
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php,
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php
Changed return types of getMinValue and getMaxValue from string to int; updated return values to use PHP integer constants or integer literals directly.
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php,
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php
Introduced new exception classes extending ConversionException; each provides static methods for generating specific error messages based on the invalid input scenario.
tests/MartinGeorgiev/Doctrine/DBAL/Types/*.php Updated test cases by refining valid/invalid transformation providers; added methods for out-of-range testing; simplified setup methods; removed obsolete test cases in the DoublePrecisionArrayTest class.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant IntegerArrayHandler
    participant Validator
    participant ExceptionHandler

    Client->>IntegerArrayHandler: transformArrayItemForPHP(value)
    IntegerArrayHandler->>Validator: validate value (regex & range)
    alt Value is valid
        Validator-->>IntegerArrayHandler: Return validated integer
        IntegerArrayHandler-->>Client: Return integer
    else Value is invalid
        Validator-->>IntegerArrayHandler: Signal validation failure
        IntegerArrayHandler->>ExceptionHandler: Throw specific exception
        ExceptionHandler-->>Client: Error response
    end
Loading

Possibly related PRs

Poem

I'm a happy little rabbit, hopping through the code,
Numbers now hop in perfect rows on their new, lighter load.
From strings to ints, the changes gleam,
Exceptions bounce like carrots in a dream.
With every validated leap and bound,
My burrow sings in ASCII sound.
🐇 Happy hops in every line!


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1c4d3d4 and ade068e.

📒 Files selected for processing (1)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: PHP 8.4 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
  • GitHub Check: PHP 8.3 + Doctrine ORM 3.0 + Doctrine Lexer latest
  • GitHub Check: PHP 8.2 + Doctrine ORM 2.14 + Doctrine Lexer latest
  • GitHub Check: sloth

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coveralls
Copy link

coveralls commented Mar 26, 2025

Coverage Status

coverage: 94.659% (-0.1%) from 94.768%
when pulling ade068e on improve-test-coverage
into 1db35ac on main.

@coveralls
Copy link

Coverage Status

coverage: 94.653% (-0.1%) from 94.768%
when pulling 1c4d3d4 on improve-test-coverage
into 1db35ac on main.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (1)

47-49: Consider adding a comment explaining the integer validation logic.

The string comparison technique used here ($stringValue !== (string) (int) $stringValue) is clever but not immediately obvious. A brief comment explaining this approach would improve code maintainability.

 $doesNotFitIntoPHPInteger = $stringValue !== (string) (int) $stringValue;
+// If casting to int and back to string doesn't match the original string,
+// then the value is outside PHP's integer range
 if ($doesNotFitIntoPHPInteger) {
     throw InvalidIntegerArrayItemForDatabaseException::isOutOfRange($item);
 }
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1db35ac and ae131b0.

📒 Files selected for processing (11)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (2 hunks)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (1 hunks)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php (1 hunks)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php (1 hunks)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (1 hunks)
  • src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (1 hunks)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php (3 hunks)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php (2 hunks)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/DoublePrecisionArrayTest.php (0 hunks)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php (2 hunks)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php (2 hunks)
💤 Files with no reviewable changes (1)
  • tests/MartinGeorgiev/Doctrine/DBAL/Types/DoublePrecisionArrayTest.php
🧰 Additional context used
🧬 Code Definitions (8)
src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (3)
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (2)
  • getMinValue (20-20)
  • getMaxValue (22-22)
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (3)
src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (2)
  • getMinValue (20-20)
  • getMaxValue (22-22)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (3)
src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (2)
  • getMinValue (20-20)
  • getMaxValue (22-22)
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php (2)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (1)
  • SmallIntArray (15-31)
tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php (2)
  • provideInvalidTransformations (28-42)
  • provideOutOfRangeValues (88-88)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php (1)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php (1)
  • create (16-19)
tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php (3)
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (1)
  • IntegerArray (15-31)
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php (3)
  • provideInvalidTransformations (24-32)
  • provideValidTransformations (37-65)
  • provideOutOfRangeValues (70-76)
tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php (3)
  • provideInvalidTransformations (28-42)
  • provideValidTransformations (70-70)
  • provideOutOfRangeValues (88-88)
src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (5)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php (6)
  • InvalidIntegerArrayItemForDatabaseException (14-45)
  • isNotANumber (21-24)
  • doesNotMatchRegex (26-29)
  • isOutOfRange (41-44)
  • isBelowMinValue (31-34)
  • isAboveMaxValue (36-39)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php (4)
  • InvalidIntegerArrayItemForPHPException (14-35)
  • forValueThatIsNotAValidPHPInteger (21-24)
  • forValueOutOfRangeInPHP (26-29)
  • forValueOutOfRangeInDatabaseType (31-34)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (2)
  • getMinValue (22-25)
  • getMaxValue (27-30)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php (1)
src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php (1)
  • create (16-19)
🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.14 + Doctrine Lexer 1.2
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 2.14 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 2.18 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 2.14 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 3.0 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 2.14 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 3.0 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 3.0 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.4 + Doctrine ORM 2.18 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 2.14 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM latest + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM latest + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 2.18 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.3 + Doctrine ORM latest + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM latest + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 2.14 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 2.18 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM latest + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.18 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 3.0 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM latest + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM latest + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.2 + Doctrine ORM 2.14 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.14 + Doctrine Lexer latest
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM latest + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.18 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM latest + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 2.14 + Doctrine Lexer 2.1
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🪛 GitHub Check: PHP 8.1 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php

[failure] 84-84:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BigIntArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php

[failure] 70-70:
Return type (array<array{string}>) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\IntegerArrayTest::provideOutOfRangeValues() should be compatible with return type (list) of method Tests\MartinGeorgiev\Doctrine\DBAL\Types\BaseIntegerArrayTestCase::provideOutOfRangeValues()

🔇 Additional comments (28)
src/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArray.php (2)

22-25: Improved type safety with int return type.

The method now correctly returns a proper integer value instead of a string representation. This aligns with modern PHP type safety practices and makes the API more consistent.


27-30: Improved type safety with int return type.

The method now correctly returns a proper integer value instead of a string representation. This aligns with modern PHP type safety practices and makes the API more consistent.

src/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArray.php (2)

22-25: Improved type safety using PHP's built-in constants.

Good change to return PHP_INT_MIN as an integer instead of a hardcoded string. This is more maintainable and automatically adapts to the platform's integer limits.


27-30: Improved type safety using PHP's built-in constants.

Good change to return PHP_INT_MAX as an integer instead of a hardcoded string. This is more maintainable and automatically adapts to the platform's integer limits.

src/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArray.php (2)

22-25: Improved type safety with int return type.

The method now correctly returns a proper integer value instead of a string representation. This aligns with modern PHP type safety practices and makes the API more consistent.


27-30: Improved type safety with int return type.

The method now correctly returns a proper integer value instead of a string representation. This aligns with modern PHP type safety practices and makes the API more consistent.

tests/MartinGeorgiev/Doctrine/DBAL/Types/SmallIntArrayTest.php (3)

24-32: Good test coverage for edge cases.

The additional test cases for invalid transformations are excellent. Testing values just outside the smallint range, scientific notation, and decimal numbers ensures proper validation of the input.


34-65: Improved test data structure with named keys.

The restructured test data with named keys ('phpValue' and 'postgresValue') improves readability and maintainability. The additional test cases for common values (0, 1, -1, 9999) provide better coverage.


11-14:

✅ Verification successful

Missing parent::setUp() call.

The setUp method doesn't call parent::setUp(). While this might be intentional, it's worth checking if any necessary initialization in the parent class is being skipped.


🏁 Script executed:

#!/bin/bash
# Check if the parent class's setUp method contains important initialization
ast-grep --pattern $'class BaseIntegerArrayTestCase extends \$_ {
  $$$
  protected function setUp(): void {
    $$$
  }
  $$$
}'

Length of output: 130


I'll run a new script to locate the parent class file and inspect its setUp() method, so we can determine whether skipping parent::setUp() is safe or not.


🏁 Script executed:

#!/bin/bash
# Locate the file where BaseIntegerArrayTestCase is defined and display its setUp method
parent_file=$(rg --files-with-matches "class BaseIntegerArrayTestCase" | head -n 1)
echo "Parent File: $parent_file"
if [ -n "$parent_file" ]; then
    rg -A 20 "protected function setUp" "$parent_file"
else
    echo "Parent class file not found."
fi

Length of output: 522


I'll now run a script to display the first 50 lines of the parent class file so we can inspect whether its setUp() method is defined and contains any important initialization.


🏁 Script executed:

#!/bin/bash
# Display the first 50 lines of the parent class file to inspect the setUp method.
cat tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php | head -n 50

Length of output: 1295


Verification Outcome: Parent setUp Unnecessary

After reviewing the parent class in tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php, we found that it does not override the setUp() method. This means no additional initialization is being skipped by omitting a call to parent::setUp() in your SmallIntArrayTest class. While it’s generally good practice to include parent::setUp() to safeguard against future updates, it isn’t strictly required in this case.

tests/MartinGeorgiev/Doctrine/DBAL/Types/IntegerArrayTest.php (3)

13-13: Simplified setUp method looks good.

The removal of the parent::setUp() call makes the code cleaner while maintaining the necessary initialization.


26-31: Well-structured test cases for invalid transformations.

Good addition of edge cases that test integer boundary conditions and non-integer formats. This helps ensure robust validation.


35-65: Improved test coverage with structured data.

The updated valid transformations with named keys improve code readability and test more cases including boundary values and common integers. The improved return type annotation also enhances type safety.

tests/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArrayTestCase.php (4)

8-8: Good addition of exception import.

Adding the InvalidIntegerArrayItemForPHPException import supports the new test method that verifies exception throwing behavior.


36-40: Enhanced invalid test cases.

The additional test cases for invalid transformations provide more comprehensive coverage of edge cases, including decimal strings, scientific notation, and non-numeric values.


65-69: Improved return type annotation.

The updated annotation with specific array structure improves type safety and makes the expected data format clearer.


72-88: Good validation test for out-of-range values.

The new test method and abstract provider method properly verify that out-of-range values throw the expected exception, enhancing error handling and validation coverage.

tests/MartinGeorgiev/Doctrine/DBAL/Types/BigIntArrayTest.php (4)

14-14: Simplified setUp method looks good.

The removal of the parent::setUp() call makes the code cleaner while maintaining the necessary initialization.


27-32: Well-structured test cases for invalid BigInt transformations.

Good addition of edge cases specific to BigInt boundaries, testing values that exceed PHP_INT_MAX/MIN and non-integer formats.


36-66: Improved test coverage for BigInt values.

The updated valid transformations use PHP constants appropriately for boundary cases and include common integers like 0, 1, and -1. The named keys and improved return type annotation enhance readability and type safety.


68-79: Good test for validating PHP integer range exceptions.

This test properly verifies that values valid for PostgreSQL but out of range for PHP throw the expected exception with the right message.

src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForPHPException.php (2)

14-19: Well-designed exception class with helper method.

The exception extends ConversionException appropriately, and the private create method establishes a consistent pattern for exception creation.


21-34: Excellent factory methods for specific error scenarios.

The three factory methods provide clear, descriptive error messages for different validation failure scenarios:

  1. Values that can't be transformed to valid PHP integers
  2. Values out of range for PHP but valid for PostgreSQL
  3. Values out of range for the PostgreSQL type

This design improves error handling and enables more specific exception testing.

src/MartinGeorgiev/Doctrine/DBAL/Types/Exceptions/InvalidIntegerArrayItemForDatabaseException.php (1)

1-45: Well-structured exception class with clear error handling.

This is a clean implementation of a specialized exception class for handling integer array validation errors. The static factory methods provide specific error context, making debugging easier.

src/MartinGeorgiev/Doctrine/DBAL/Types/BaseIntegerArray.php (5)

18-18: Good use of a constant for regex pattern.

Using a constant for the integer regex pattern improves maintainability and readability.


20-22: Improved type safety with return type change.

Changing method signatures to return int instead of string provides better type safety and more accurately represents the intention of these methods.


24-33: Good refactoring of validation logic.

The validation approach has been improved by using a try-catch pattern, which simplifies the control flow and makes the code more readable.


35-60: Well-structured validation with specific exceptions.

The new private method provides clear separation of concerns and throws specific exceptions for different validation failures, making error handling more robust.


62-86: Comprehensive validation in transformation logic.

The updated transformation method includes thorough validation checks and uses appropriate specialized exceptions, which improves error handling and debugging.

@martin-georgiev martin-georgiev merged commit 67c344e into main Mar 26, 2025
43 of 46 checks passed
@martin-georgiev martin-georgiev deleted the improve-test-coverage branch March 26, 2025 23:22
This was referenced Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants