Skip to content

Commit

Permalink
Add unary minus test
Browse files Browse the repository at this point in the history
  • Loading branch information
janedbal authored and ondrejmirtes committed Jun 25, 2024
1 parent b860565 commit 25e200b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
18 changes: 17 additions & 1 deletion tests/Type/Doctrine/Query/QueryResultTypeWalkerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ public static function setUpBeforeClass(): void

$dataOne = [
'intColumn' => [1, 2],
'floatColumn' => [0.1, 2.0],
'stringColumn' => ['A', 'B'],
'stringNullColumn' => ['A', null],
];
Expand All @@ -108,10 +109,11 @@ public static function setUpBeforeClass(): void
$id = 1;

foreach (self::combinations($dataOne) as $combination) {
[$intColumn, $stringColumn, $stringNullColumn] = $combination;
[$intColumn, $floatColumn, $stringColumn, $stringNullColumn] = $combination;
$one = new One();
$one->id = (string) $id++;
$one->intColumn = $intColumn;
$one->floatColumn = $floatColumn;
$one->stringColumn = $stringColumn;
$one->stringNullColumn = $stringNullColumn;
$embedded = new Embedded();
Expand Down Expand Up @@ -1614,6 +1616,20 @@ public function getTestData(): iterable
FROM QueryResult\Entities\One o
',
];

yield 'unary minus' => [
$this->constantArray([
[new ConstantStringType('minusInt'), $this->numericStringOrInt()], // should be nullable
[new ConstantStringType('minusFloat'), TypeCombinator::union(new FloatType(), $this->numericStringOrInt())], // should be nullable && should not include int
[new ConstantStringType('minusIntRange'), TypeCombinator::union(IntegerRangeType::fromInterval(null, 0), $this->numericString())],
]),
'
SELECT -o.intColumn as minusInt,
-o.floatColumn as minusFloat,
-COUNT(o.intColumn) as minusIntRange
FROM QueryResult\Entities\One o
',
];
}

/**
Expand Down
7 changes: 7 additions & 0 deletions tests/Type/Doctrine/data/QueryResult/Entities/One.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ class One
*/
public $intColumn;

/**
* @Column(type="float")
*
* @var float
*/
public $floatColumn;

/**
* @Column(type="string")
*
Expand Down

0 comments on commit 25e200b

Please # to comment.