assertEquals($expected, $result); } /** * @dataProvider CurrencyListWithNoDecimalsProvider */ public function testPriceWithNoDecimalCurrencyInvalid($input) { try { FormatConverter::formatToPrice("1.234", $input); } catch (\InvalidArgumentException $ex) { $this->assertContains("value cannot have decimals for", $ex->getMessage()); } } /** * @dataProvider CurrencyListWithNoDecimalsProvider */ public function testPriceWithNoDecimalCurrencyValid($input) { $result = FormatConverter::formatToPrice("1.0000000", $input); $this->assertEquals("1", $result); } /** * * @dataProvider \PayPal\Test\Validation\NumericValidatorTest::positiveProvider */ public function testFormatToNumber($input, $expected) { $result = FormatConverter::formatToNumber($input); $this->assertEquals($expected, $result); } public function testFormatToNumberDecimals() { $result = FormatConverter::formatToNumber("0.0", 4); $this->assertEquals("0.0000", $result); } public function testFormat() { $result = FormatConverter::format("12.0123", "%0.2f"); $this->assertEquals("12.01", $result); } /** * @dataProvider apiModelSettersProvider * * @param PayPalModel $class Class Object * @param string $method Method Name where the format is being applied * @param array $values array of ['input', 'expectedResponse'] is provided */ public function testSettersOfKnownApiModel($class, $method, $values) { $obj = new $class(); $setter = "set" . $method; $getter = "get" . $method; $result = $obj->$setter($values[0]); $this->assertEquals($values[1], $result->$getter()); } /** * @dataProvider apiModelSettersInvalidProvider * @expectedException \InvalidArgumentException */ public function testSettersOfKnownApiModelInvalid($class, $methodName, $values) { $obj = new $class(); $setter = "set" . $methodName; $obj->$setter($values[0]); } }