1+ <?php
2+
3+ namespace Coduo \PHPHumanizer \Tests ;
4+
5+ use Coduo \PHPHumanizer \Collection ;
6+
7+ final class CollectionTest extends \PHPUnit_Framework_TestCase
8+ {
9+ /**
10+ * @dataProvider oxfordCollectionProvider
11+ */
12+ function test_oxford_collections_humanizing ($ collection , $ limit , $ locale , $ expectedResult )
13+ {
14+ $ this ->assertEquals ($ expectedResult , Collection::oxford ($ collection , $ limit , $ locale ));
15+ }
16+
17+ public function oxfordCollectionProvider ()
18+ {
19+ return array (
20+ // English
21+ array (array ("Michal " ), null , 'en ' , 'Michal ' ),
22+ array (array ("Michal " , "Norbert " ), null , 'en ' , 'Michal and Norbert ' ),
23+ array (array ("Michal " , "Norbert " , "Lukasz " ), 2 , 'en ' , 'Michal, Norbert, and 1 other ' ),
24+ array (array ("Michal " , "Norbert " , "Lukasz " , "Pawel " ), 2 , 'en ' , 'Michal, Norbert, and 2 others ' ),
25+ array (array ("Michal " , "Norbert " , "Lukasz " , "Pawel " ), null , 'en ' , 'Michal, Norbert, Lukasz, and Pawel ' ),
26+
27+ // Polish
28+ array (array ("Michal " ), null , 'pl ' , 'Michal ' ),
29+ array (array ("Michal " , "Norbert " ), null , 'pl ' , 'Michal i Norbert ' ),
30+ array (array ("Michal " , "Norbert " , "Lukasz " ), 2 , 'pl ' , 'Michal, Norbert i 1 inny ' ),
31+ array (array ("Michal " , "Norbert " , "Lukasz " , "Pawel " ), 2 , 'pl ' , 'Michal, Norbert i 2 innych ' ),
32+
33+ // Dutch
34+ array (array ("Michal " ), null , 'nl ' , 'Michal ' ),
35+ array (array ("Michal " , "Norbert " ), null , 'nl ' , 'Michal en Norbert ' ),
36+ array (array ("Michal " , "Norbert " , "Lukasz " ), 2 , 'nl ' , 'Michal, Norbert, en 1 andere ' ),
37+ array (array ("Michal " , "Norbert " , "Lukasz " , "Pawel " ), 2 , 'nl ' , 'Michal, Norbert, en 2 andere ' ),
38+ array (array ("Michal " , "Norbert " , "Lukasz " , "Pawel " ), null , 'nl ' , 'Michal, Norbert, Lukasz, en Pawel ' ),
39+ );
40+ }
41+ }
0 commit comments