/** * @covers ::formatAmount * @covers ::getCurrencyAmountFormatterManager * * @depends testGetRoundingStep * * @dataProvider providerTestFormatAmount */ function testFormatAmount($expected, $amount, $amount_with_currency_precision_applied) { $amount_formatter = $this->getMock(AmountFormatterInterface::class); $amount_formatter->expects($this->atLeastOnce())->method('formatAmount')->with($this->sut, $amount_with_currency_precision_applied)->willReturn($expected); $this->currencyAmountFormatterManager->expects($this->atLeastOnce())->method('getDefaultPlugin')->willReturn($amount_formatter); $this->sut->setCurrencyCode('BLA'); $this->sut->setSubunits(100); $this->assertSame($expected, $this->sut->formatAmount($amount, $amount !== $amount_with_currency_precision_applied)); }