Skip to content

Commit

Permalink
Use dataProvider.
Browse files Browse the repository at this point in the history
  • Loading branch information
ADmad committed Apr 25, 2016
1 parent 11f2e58 commit fd3e168
Showing 1 changed file with 184 additions and 157 deletions.
341 changes: 184 additions & 157 deletions tests/TestCase/Utility/InflectorTest.php
Expand Up @@ -89,94 +89,108 @@ public function tearDown()
/**
* testInflectingSingulars method
*
* @dataProvider singularizeProvider
* @return void
*/
public function testInflectingSingulars()
public function testInflectingSingulars($singular, $plural)
{
$this->assertEquals('categoria', Inflector::singularize('categorias'));
$this->assertEquals('menu', Inflector::singularize('menus'));
$this->assertEquals('news', Inflector::singularize('news'));
$this->assertEquals('food_menu', Inflector::singularize('food_menus'));
$this->assertEquals('Menu', Inflector::singularize('Menus'));
$this->assertEquals('FoodMenu', Inflector::singularize('FoodMenus'));
$this->assertEquals('house', Inflector::singularize('houses'));
$this->assertEquals('powerhouse', Inflector::singularize('powerhouses'));
$this->assertEquals('quiz', Inflector::singularize('quizzes'));
$this->assertEquals('Bus', Inflector::singularize('Buses'));
$this->assertEquals('bus', Inflector::singularize('buses'));
$this->assertEquals('matrix_row', Inflector::singularize('matrix_rows'));
$this->assertEquals('matrix', Inflector::singularize('matrices'));
$this->assertEquals('vertex', Inflector::singularize('vertices'));
$this->assertEquals('index', Inflector::singularize('indices'));
$this->assertEquals('Alias', Inflector::singularize('Aliases'));
$this->assertEquals('Alias', Inflector::singularize('Alias'));
$this->assertEquals('Media', Inflector::singularize('Media'));
$this->assertEquals('NodeMedia', Inflector::singularize('NodeMedia'));
$this->assertEquals('alumnus', Inflector::singularize('alumni'));
$this->assertEquals('bacillus', Inflector::singularize('bacilli'));
$this->assertEquals('cactus', Inflector::singularize('cacti'));
$this->assertEquals('focus', Inflector::singularize('foci'));
$this->assertEquals('fungus', Inflector::singularize('fungi'));
$this->assertEquals('nucleus', Inflector::singularize('nuclei'));
$this->assertEquals('octopus', Inflector::singularize('octopuses'));
$this->assertEquals('radius', Inflector::singularize('radii'));
$this->assertEquals('stimulus', Inflector::singularize('stimuli'));
$this->assertEquals('syllabus', Inflector::singularize('syllabi'));
$this->assertEquals('terminus', Inflector::singularize('termini'));
$this->assertEquals('virus', Inflector::singularize('viruses'));
$this->assertEquals('person', Inflector::singularize('people'));
$this->assertEquals('glove', Inflector::singularize('gloves'));
$this->assertEquals('dove', Inflector::singularize('doves'));
$this->assertEquals('life', Inflector::singularize('lives'));
$this->assertEquals('knife', Inflector::singularize('knives'));
$this->assertEquals('wolf', Inflector::singularize('wolves'));
$this->assertEquals('slave', Inflector::singularize('slaves'));
$this->assertEquals('shelf', Inflector::singularize('shelves'));
$this->assertEquals('taxi', Inflector::singularize('taxis'));
$this->assertEquals('tax', Inflector::singularize('taxes'));
$this->assertEquals('Tax', Inflector::singularize('Taxes'));
$this->assertEquals('AwesomeTax', Inflector::singularize('AwesomeTaxes'));
$this->assertEquals('fax', Inflector::singularize('faxes'));
$this->assertEquals('wax', Inflector::singularize('waxes'));
$this->assertEquals('niche', Inflector::singularize('niches'));
$this->assertEquals('cave', Inflector::singularize('caves'));
$this->assertEquals('grave', Inflector::singularize('graves'));
$this->assertEquals('wave', Inflector::singularize('waves'));
$this->assertEquals('bureau', Inflector::singularize('bureaus'));
$this->assertEquals('genetic_analysis', Inflector::singularize('genetic_analyses'));
$this->assertEquals('doctor_diagnosis', Inflector::singularize('doctor_diagnoses'));
$this->assertEquals('paranthesis', Inflector::singularize('parantheses'));
$this->assertEquals('Cause', Inflector::singularize('Causes'));
$this->assertEquals('colossus', Inflector::singularize('colossuses'));
$this->assertEquals('diagnosis', Inflector::singularize('diagnoses'));
$this->assertEquals('basis', Inflector::singularize('bases'));
$this->assertEquals('analysis', Inflector::singularize('analyses'));
$this->assertEquals('curve', Inflector::singularize('curves'));
$this->assertEquals('cafe', Inflector::singularize('cafes'));
$this->assertEquals('roof', Inflector::singularize('roofs'));
$this->assertEquals('foe', Inflector::singularize('foes'));
$this->assertEquals('database', Inflector::singularize('databases'));
$this->assertEquals('cookie', Inflector::singularize('cookies'));
$this->assertEquals('thief', Inflector::singularize('thieves'));
$this->assertEquals('potato', Inflector::singularize('potatoes'));
$this->assertEquals('hero', Inflector::singularize('heroes'));
$this->assertEquals('buffalo', Inflector::singularize('buffaloes'));
$this->assertEquals('baby', Inflector::singularize('babies'));
$this->assertEquals('tooth', Inflector::singularize('teeth'));
$this->assertEquals('goose', Inflector::singularize('geese'));
$this->assertEquals('foot', Inflector::singularize('feet'));
$this->assertEquals('objective', Inflector::singularize('objectives'));
$this->assertEquals('archive', Inflector::singularize('archives'));
$this->assertEquals('brief', Inflector::singularize('briefs'));
$this->assertEquals('quota', Inflector::singularize('quotas'));
$this->assertEquals('curve', Inflector::singularize('curves'));
$this->assertEquals('body_curve', Inflector::singularize('body_curves'));
$this->assertEquals('metadata', Inflector::singularize('metadata'));
$this->assertEquals('files_metadata', Inflector::singularize('files_metadata'));
$this->assertEquals('address', Inflector::singularize('addresses'));
$this->assertEquals('sieve', Inflector::singularize('sieves'));
$this->assertEquals('blue_octopus', Inflector::singularize('blue_octopuses'));
$this->assertEquals('', Inflector::singularize(''));
$this->assertEquals($singular, Inflector::singularize($plural));
}

/**
* Data provider for testing singularize()
*
* @return array
*/
public function singularizeProvider()
{
return [
['categoria', 'categorias'],
['menu', 'menus'],
['news', 'news'],
['food_menu', 'food_menus'],
['Menu', 'Menus'],
['FoodMenu', 'FoodMenus'],
['house', 'houses'],
['powerhouse', 'powerhouses'],
['quiz', 'quizzes'],
['Bus', 'Buses'],
['bus', 'buses'],
['matrix_row', 'matrix_rows'],
['matrix', 'matrices'],
['vertex', 'vertices'],
['index', 'indices'],
['Alias', 'Aliases'],
['Alias', 'Alias'],
['Media', 'Media'],
['NodeMedia', 'NodeMedia'],
['alumnus', 'alumni'],
['bacillus', 'bacilli'],
['cactus', 'cacti'],
['focus', 'foci'],
['fungus', 'fungi'],
['nucleus', 'nuclei'],
['octopus', 'octopuses'],
['radius', 'radii'],
['stimulus', 'stimuli'],
['syllabus', 'syllabi'],
['terminus', 'termini'],
['virus', 'viruses'],
['person', 'people'],
['glove', 'gloves'],
['dove', 'doves'],
['life', 'lives'],
['knife', 'knives'],
['wolf', 'wolves'],
['slave', 'slaves'],
['shelf', 'shelves'],
['taxi', 'taxis'],
['tax', 'taxes'],
['Tax', 'Taxes'],
['AwesomeTax', 'AwesomeTaxes'],
['fax', 'faxes'],
['wax', 'waxes'],
['niche', 'niches'],
['cave', 'caves'],
['grave', 'graves'],
['wave', 'waves'],
['bureau', 'bureaus'],
['genetic_analysis', 'genetic_analyses'],
['doctor_diagnosis', 'doctor_diagnoses'],
['paranthesis', 'parantheses'],
['Cause', 'Causes'],
['colossus', 'colossuses'],
['diagnosis', 'diagnoses'],
['basis', 'bases'],
['analysis', 'analyses'],
['curve', 'curves'],
['cafe', 'cafes'],
['roof', 'roofs'],
['foe', 'foes'],
['database', 'databases'],
['cookie', 'cookies'],
['thief', 'thieves'],
['potato', 'potatoes'],
['hero', 'heroes'],
['buffalo', 'buffaloes'],
['baby', 'babies'],
['tooth', 'teeth'],
['goose', 'geese'],
['foot', 'feet'],
['objective', 'objectives'],
['archive', 'archives'],
['brief', 'briefs'],
['quota', 'quotas'],
['curve', 'curves'],
['body_curve', 'body_curves'],
['metadata', 'metadata'],
['files_metadata', 'files_metadata'],
['address', 'addresses'],
['sieve', 'sieves'],
['blue_octopus', 'blue_octopuses'],
['chef', 'chefs'],
['', ''],
];
}

/**
Expand Down Expand Up @@ -204,81 +218,94 @@ public function testSingularizeMultiWordIrregular()
/**
* testInflectingPlurals method
*
* @dataProvider pluralizeProvider
* @return void
*/
public function testInflectingPlurals()
public function testInflectingPlurals($plural, $singular)
{
$this->assertEquals($plural, Inflector::pluralize($singular));
}

/**
* Data provider for testing pluralize()
*
* @return array
*/
public function pluralizeProvider()
{
$this->assertEquals('axmen', Inflector::pluralize('axman'));
$this->assertEquals('men', Inflector::pluralize('man'));
$this->assertEquals('women', Inflector::pluralize('woman'));
$this->assertEquals('humans', Inflector::pluralize('human'));
$this->assertEquals('axmen', Inflector::pluralize('axman'));
$this->assertEquals('men', Inflector::pluralize('man'));
$this->assertEquals('women', Inflector::pluralize('woman'));
$this->assertEquals('humans', Inflector::pluralize('human'));
$this->assertEquals('categorias', Inflector::pluralize('categoria'));
$this->assertEquals('houses', Inflector::pluralize('house'));
$this->assertEquals('powerhouses', Inflector::pluralize('powerhouse'));
$this->assertEquals('Buses', Inflector::pluralize('Bus'));
$this->assertEquals('buses', Inflector::pluralize('bus'));
$this->assertEquals('menus', Inflector::pluralize('menu'));
$this->assertEquals('news', Inflector::pluralize('news'));
$this->assertEquals('food_menus', Inflector::pluralize('food_menu'));
$this->assertEquals('Menus', Inflector::pluralize('Menu'));
$this->assertEquals('FoodMenus', Inflector::pluralize('FoodMenu'));
$this->assertEquals('quizzes', Inflector::pluralize('quiz'));
$this->assertEquals('matrix_rows', Inflector::pluralize('matrix_row'));
$this->assertEquals('matrices', Inflector::pluralize('matrix'));
$this->assertEquals('vertices', Inflector::pluralize('vertex'));
$this->assertEquals('indices', Inflector::pluralize('index'));
$this->assertEquals('Aliases', Inflector::pluralize('Alias'));
$this->assertEquals('Aliases', Inflector::pluralize('Aliases'));
$this->assertEquals('Media', Inflector::pluralize('Media'));
$this->assertEquals('NodeMedia', Inflector::pluralize('NodeMedia'));
$this->assertEquals('alumni', Inflector::pluralize('alumnus'));
$this->assertEquals('bacilli', Inflector::pluralize('bacillus'));
$this->assertEquals('cacti', Inflector::pluralize('cactus'));
$this->assertEquals('foci', Inflector::pluralize('focus'));
$this->assertEquals('fungi', Inflector::pluralize('fungus'));
$this->assertEquals('nuclei', Inflector::pluralize('nucleus'));
$this->assertEquals('octopuses', Inflector::pluralize('octopus'));
$this->assertEquals('radii', Inflector::pluralize('radius'));
$this->assertEquals('stimuli', Inflector::pluralize('stimulus'));
$this->assertEquals('syllabi', Inflector::pluralize('syllabus'));
$this->assertEquals('termini', Inflector::pluralize('terminus'));
$this->assertEquals('viruses', Inflector::pluralize('virus'));
$this->assertEquals('people', Inflector::pluralize('person'));
$this->assertEquals('people', Inflector::pluralize('people'));
$this->assertEquals('gloves', Inflector::pluralize('glove'));
$this->assertEquals('crises', Inflector::pluralize('crisis'));
$this->assertEquals('taxes', Inflector::pluralize('tax'));
$this->assertEquals('waves', Inflector::pluralize('wave'));
$this->assertEquals('bureaus', Inflector::pluralize('bureau'));
$this->assertEquals('cafes', Inflector::pluralize('cafe'));
$this->assertEquals('roofs', Inflector::pluralize('roof'));
$this->assertEquals('foes', Inflector::pluralize('foe'));
$this->assertEquals('cookies', Inflector::pluralize('cookie'));
$this->assertEquals('wolves', Inflector::pluralize('wolf'));
$this->assertEquals('thieves', Inflector::pluralize('thief'));
$this->assertEquals('potatoes', Inflector::pluralize('potato'));
$this->assertEquals('heroes', Inflector::pluralize('hero'));
$this->assertEquals('buffaloes', Inflector::pluralize('buffalo'));
$this->assertEquals('teeth', Inflector::pluralize('tooth'));
$this->assertEquals('geese', Inflector::pluralize('goose'));
$this->assertEquals('feet', Inflector::pluralize('foot'));
$this->assertEquals('objectives', Inflector::pluralize('objective'));
$this->assertEquals('briefs', Inflector::pluralize('brief'));
$this->assertEquals('quotas', Inflector::pluralize('quota'));
$this->assertEquals('curves', Inflector::pluralize('curve'));
$this->assertEquals('body_curves', Inflector::pluralize('body_curve'));
$this->assertEquals('metadata', Inflector::pluralize('metadata'));
$this->assertEquals('files_metadata', Inflector::pluralize('files_metadata'));
$this->assertEquals('stadia', Inflector::pluralize('stadia'));
$this->assertEquals('Addresses', Inflector::pluralize('Address'));
$this->assertEquals('sieves', Inflector::pluralize('sieve'));
$this->assertEquals('blue_octopuses', Inflector::pluralize('blue_octopus'));
$this->assertEquals('chefs', Inflector::pluralize('chef'));
$this->assertEquals('', Inflector::pluralize(''));
return [
['axmen', 'axman'],
['men', 'man'],
['women', 'woman'],
['humans', 'human'],
['axmen', 'axman'],
['men', 'man'],
['women', 'woman'],
['humans', 'human'],
['categorias', 'categoria'],
['houses', 'house'],
['powerhouses', 'powerhouse'],
['Buses', 'Bus'],
['buses', 'bus'],
['menus', 'menu'],
['news', 'news'],
['food_menus', 'food_menu'],
['Menus', 'Menu'],
['FoodMenus', 'FoodMenu'],
['quizzes', 'quiz'],
['matrix_rows', 'matrix_row'],
['matrices', 'matrix'],
['vertices', 'vertex'],
['indices', 'index'],
['Aliases', 'Alias'],
['Aliases', 'Aliases'],
['Media', 'Media'],
['NodeMedia', 'NodeMedia'],
['alumni', 'alumnus'],
['bacilli', 'bacillus'],
['cacti', 'cactus'],
['foci', 'focus'],
['fungi', 'fungus'],
['nuclei', 'nucleus'],
['octopuses', 'octopus'],
['radii', 'radius'],
['stimuli', 'stimulus'],
['syllabi', 'syllabus'],
['termini', 'terminus'],
['viruses', 'virus'],
['people', 'person'],
['people', 'people'],
['gloves', 'glove'],
['crises', 'crisis'],
['taxes', 'tax'],
['waves', 'wave'],
['bureaus', 'bureau'],
['cafes', 'cafe'],
['roofs', 'roof'],
['foes', 'foe'],
['cookies', 'cookie'],
['wolves', 'wolf'],
['thieves', 'thief'],
['potatoes', 'potato'],
['heroes', 'hero'],
['buffaloes', 'buffalo'],
['teeth', 'tooth'],
['geese', 'goose'],
['feet', 'foot'],
['objectives', 'objective'],
['briefs', 'brief'],
['quotas', 'quota'],
['curves', 'curve'],
['body_curves', 'body_curve'],
['metadata', 'metadata'],
['files_metadata', 'files_metadata'],
['stadia', 'stadia'],
['Addresses', 'Address'],
['sieves', 'sieve'],
['blue_octopuses', 'blue_octopus'],
['chefs', 'chef'],
['', ''],
];
}

/**
Expand Down

0 comments on commit fd3e168

Please sign in to comment.