getRateCalculatorMode(); self::assertInstanceOf(ClassicRateCalculator::class, $mode); } public function testCreatesClassic(): void { $this->assertCreatesClassicConfig([]); $this->assertCreatesClassicConfig(['invoice' => ['rounding_mode' => 'classic']]); $this->assertCreatesClassicConfig(['invoice' => ['rounding_mode' => '']]); $this->assertCreatesClassicConfig(['invoice' => ['rounding_mode' => 'foo']]); $this->assertCreatesClassicConfig(['invoice' => ['rounding_mode' => 'DECIMAL']]); } public function testCreateWithDecimalConfig(): void { $config = SystemConfigurationFactory::createStub(['invoice' => ['rounding_mode' => 'decimal']]); $sut = new RateCalculatorFactory($config); $mode = $sut->getRateCalculatorMode(); self::assertInstanceOf(DecimalRateCalculator::class, $mode); } }