From 089a7e4855067690d558e0d48b31c4ec0da0c6e8 Mon Sep 17 00:00:00 2001 From: Martin Butt Date: Thu, 4 Aug 2016 16:26:12 -0700 Subject: [PATCH 1/2] Added PFIGS ordinals --- .../Resources/Ordinal/DeStrategy.php | 22 +++ .../Resources/Ordinal/EsStrategy.php | 22 +++ .../Resources/Ordinal/FrStrategy.php | 28 +++ .../Resources/Ordinal/ItStrategy.php | 22 +++ .../Resources/Ordinal/PtStrategy.php | 22 +++ .../Tests/NumberHumanizerTest.php | 173 ++++++++++++++++++ 6 files changed, 289 insertions(+) create mode 100644 src/Coduo/PHPHumanizer/Resources/Ordinal/DeStrategy.php create mode 100644 src/Coduo/PHPHumanizer/Resources/Ordinal/EsStrategy.php create mode 100644 src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php create mode 100644 src/Coduo/PHPHumanizer/Resources/Ordinal/ItStrategy.php create mode 100644 src/Coduo/PHPHumanizer/Resources/Ordinal/PtStrategy.php diff --git a/src/Coduo/PHPHumanizer/Resources/Ordinal/DeStrategy.php b/src/Coduo/PHPHumanizer/Resources/Ordinal/DeStrategy.php new file mode 100644 index 0000000..f6aa4e1 --- /dev/null +++ b/src/Coduo/PHPHumanizer/Resources/Ordinal/DeStrategy.php @@ -0,0 +1,22 @@ +assertEquals($expected, NumberHumanizer::ordinal($number, 'id')); } + /** + * @dataProvider ordinalSuffixPtEsItProvider + * @param $expected + * @param $number + */ + public function test_return_ordinal_suffix_spanish($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinal($number, 'es')); + } + + /** + * @dataProvider ordinalSuffixPtEsItProvider + * @param $expected + * @param $number + */ + public function test_return_ordinal_suffix_italian($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinal($number, 'it')); + } + + /** + * @dataProvider ordinalSuffixGermanProvider + * @param $expected + * @param $number + */ + public function test_return_ordinal_suffix_german($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinal($number, 'de')); + } + + /** + * @dataProvider ordinalSuffixFrenchProvider + * @param $expected + * @param $number + */ + public function test_return_ordinal_suffix_french($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinal($number, 'fr')); + } + /** * @dataProvider ordinalizeDataProvider * @depends test_return_ordinal_suffix @@ -73,6 +113,56 @@ public function test_ordinalize_numbers_indonesian($expected, $number) $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'id')); } + /** + * @dataProvider ordinalizeDataPtEsItProvider + * @param $expected + * @param $number + */ + public function test_ordinalize_numbers_portuguese($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'pt')); + } + + /** + * @dataProvider ordinalizeDataPtEsItProvider + * @param $expected + * @param $number + */ + public function test_ordinalize_numbers_spanish($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'es')); + } + + /** + * @dataProvider ordinalizeDataPtEsItProvider + * @param $expected + * @param $number + */ + public function test_ordinalize_numbers_italian($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'it')); + } + + /** + * @dataProvider ordinalizeDataGermanProvider + * @param $expected + * @param $number + */ + public function test_ordinalize_numbers_german($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'de')); + } + + /** + * @dataProvider ordinalizeDataFrenchProvider + * @param $expected + * @param $number + */ + public function test_ordinalize_numbers_french($expected, $number) + { + $this->assertEquals($expected, NumberHumanizer::ordinalize($number, 'fr')); + } + /** * @dataProvider binarySuffixDataProvider * @@ -270,6 +360,89 @@ public function ordinalizeDataIndonesianProvider() ); } + /** + * @return array + */ + public function ordinalizeDataPtEsItProvider() + { + return array( + array('1o', 1), + array('2o', 2), + array('23o', 23), + array('1002o', 1002), + array('-111o', -111), + ); + } + + /** + * @return array + */ + public function ordinalizeDataGermanProvider() + { + return array( + array('1.', 1), + array('2.', 2), + array('23.', 23), + array('1002.', 1002), + array('-111.', -111), + ); + } + + /** + * @return array + */ + public function ordinalizeDataFrenchProvider() + { + return array( + array('1er', 1), + array('2e', 2), + array('23e', 23), + array('1002e', 1002), + array('-111e', -111), + ); + } + /** + * @return array + */ + public function ordinalSuffixPtEsItProvider() + { + return array( + array('o', 1), + array('o', 2), + array('o', 23), + array('o', 1002), + array('o', -111), + ); + } + + /** + * @return array + */ + public function ordinalSuffixGermanProvider() + { + return array( + array('.', 1), + array('.', 2), + array('.', 23), + array('.', 1002), + array('.', -111), + ); + } + + /** + * @return array + */ + public function ordinalSuffixFrenchProvider() + { + return array( + array('er', 1), + array('e', 2), + array('e', 23), + array('e', 1002), + array('e', -111), + ); + } + /** * @return array */ From 08eb57e231171e3313ad212c00da44a2ac361e61 Mon Sep 17 00:00:00 2001 From: Martin Butt Date: Fri, 5 Aug 2016 08:29:20 -0700 Subject: [PATCH 2/2] Typo --- src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php b/src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php index 0d074cb..4ee4ef2 100644 --- a/src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php +++ b/src/Coduo/PHPHumanizer/Resources/Ordinal/FrStrategy.php @@ -15,7 +15,7 @@ public function isPrefix() } /** {@inheritdoc} */ - public function ordinalIndicatorx($number) + public function ordinalIndicator($number) { $absNumber = abs((integer) $number);