Skip to content

Commit 6364643

Browse files
committed
Rename infinite number stringifier
I prefer to be more descriptive with the name of this stringifier, mentioning that it stringifies infinite numbers. I also updated the tests, removing mocks and making the tests a bit neater. Signed-off-by: Henrique Moody <[email protected]>
1 parent 7dbd40f commit 6364643

File tree

4 files changed

+69
-97
lines changed

4 files changed

+69
-97
lines changed

src/Stringifiers/ClusterStringifier.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public static function createDefault(): self
4848
new JsonSerializableObjectStringifier($jsonParsableStringifier, $quoter),
4949
new ObjectStringifier($stringifier, $quoter),
5050
new ArrayStringifier($stringifier, $quoter, self::MAXIMUM_DEPTH, self::MAXIMUM_NUMBER_OF_ITEMS),
51-
new InfiniteStringifier($quoter),
51+
new InfiniteNumberStringifier($quoter),
5252
new NotANumberStringifier($quoter),
5353
new ResourceStringifier($quoter),
5454
new BoolStringifier($quoter),

src/Stringifiers/InfiniteStringifier.php renamed to src/Stringifiers/InfiniteNumberStringifier.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use function is_float;
1717
use function is_infinite;
1818

19-
final class InfiniteStringifier implements Stringifier
19+
final class InfiniteNumberStringifier implements Stringifier
2020
{
2121
public function __construct(
2222
private readonly Quoter $quoter
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
3+
/*
4+
* This file is part of Respect/Stringifier.
5+
* Copyright (c) Henrique Moody <[email protected]>
6+
* SPDX-License-Identifier: MIT
7+
*/
8+
9+
declare(strict_types=1);
10+
11+
namespace Respect\Stringifier\Test\Unit\Stringifiers;
12+
13+
use PHPUnit\Framework\Attributes\CoversClass;
14+
use PHPUnit\Framework\Attributes\Test;
15+
use PHPUnit\Framework\TestCase;
16+
use Respect\Stringifier\Stringifiers\InfiniteNumberStringifier;
17+
use Respect\Stringifier\Test\Double\FakeQuoter;
18+
19+
use const INF;
20+
21+
#[CoversClass(InfiniteNumberStringifier::class)]
22+
final class InfiniteNumberStringifierTest extends TestCase
23+
{
24+
private const DEPTH = 0;
25+
26+
#[Test]
27+
public function itShouldNotStringifyRawValueWhenItIsNotFloat(): void
28+
{
29+
$sut = new InfiniteNumberStringifier(new FakeQuoter());
30+
31+
self::assertNull($sut->stringify(1, self::DEPTH));
32+
}
33+
34+
#[Test]
35+
public function itShouldNotStringifyRawValueWhenItIsFiniteFloat(): void
36+
{
37+
$sut = new InfiniteNumberStringifier(new FakeQuoter());
38+
39+
self::assertNull($sut->stringify(1.0, self::DEPTH));
40+
}
41+
42+
#[Test]
43+
public function itShouldStringifyRawValueWhenItIsAnInfinitePositiveNumber(): void
44+
{
45+
$quoter = new FakeQuoter();
46+
47+
$sut = new InfiniteNumberStringifier($quoter);
48+
49+
$actual = $sut->stringify(INF, self::DEPTH);
50+
$expected = $quoter->quote('INF', self::DEPTH);
51+
52+
self::assertSame($expected, $actual);
53+
}
54+
55+
#[Test]
56+
public function itShouldStringifyRawValueWhenItIsAnInfiniteNegativeNumber(): void
57+
{
58+
$quoter = new FakeQuoter();
59+
60+
$sut = new InfiniteNumberStringifier($quoter);
61+
62+
$actual = $sut->stringify(INF * -1, self::DEPTH);
63+
$expected = $quoter->quote('-INF', self::DEPTH);
64+
65+
self::assertSame($expected, $actual);
66+
}
67+
}

tests/unit/Stringifiers/InfiniteStringifierTest.php

Lines changed: 0 additions & 95 deletions
This file was deleted.

0 commit comments

Comments
 (0)