diff --git a/tests/ConverterTest.php b/tests/ConverterTest.php index cab4134d..6fdcc8a0 100644 --- a/tests/ConverterTest.php +++ b/tests/ConverterTest.php @@ -13,7 +13,6 @@ use Money\Money; use PHPUnit\Framework\TestCase; -use function setlocale; use function sprintf; use const LC_ALL; @@ -21,6 +20,8 @@ /** @covers \Money\Converter */ final class ConverterTest extends TestCase { + use Locale; + /** * @psalm-param non-empty-string $baseCurrencyCode * @psalm-param non-empty-string $counterCurrencyCode @@ -193,17 +194,17 @@ public function itConvertsToADifferentCurrencyWhenDecimalSeparatorIsComma( $amount, $expectedAmount ): void { - setlocale(LC_ALL, 'ru_RU.UTF-8'); - - $this->itConvertsToADifferentCurrency( - $baseCurrencyCode, - $counterCurrencyCode, - $subunitBase, - $subunitCounter, - $ratio, - $amount, - $expectedAmount - ); + self::runLocaleAware(LC_ALL, 'ru_RU.UTF-8', function () use ($expectedAmount, $amount, $ratio, $subunitCounter, $subunitBase, $counterCurrencyCode, $baseCurrencyCode): void { + $this->itConvertsToADifferentCurrency( + $baseCurrencyCode, + $counterCurrencyCode, + $subunitBase, + $subunitCounter, + $ratio, + $amount, + $expectedAmount + ); + }); } /** diff --git a/tests/Locale.php b/tests/Locale.php new file mode 100644 index 00000000..22c223d6 --- /dev/null +++ b/tests/Locale.php @@ -0,0 +1,23 @@ +multiply('0.1'); - $money = new Money(100, new Currency(self::CURRENCY)); - $money = $money->multiply('0.1'); - - self::assertInstanceOf(Money::class, $money); - self::assertEquals('10', $money->getAmount()); + self::assertInstanceOf(Money::class, $money); + self::assertEquals('10', $money->getAmount()); + }); } /**