/** * */ public function testPluralize() { // Regex rules $this->assertEquals('apples', Str::pluralize('apple')); $this->assertEquals('quizzes', Str::pluralize('quiz')); $this->assertEquals('mice', Str::pluralize('mouse')); $this->assertEquals('slices', Str::pluralize('slice')); $this->assertEquals('beehives', Str::pluralize('beehive')); $this->assertEquals('wives', Str::pluralize('wife')); $this->assertEquals('thieves', Str::pluralize('thief')); $this->assertEquals('sheaves', Str::pluralize('sheaf')); $this->assertEquals('leaves', Str::pluralize('leaf')); $this->assertEquals('loaves', Str::pluralize('loaf')); $this->assertEquals('flies', Str::pluralize('fly')); $this->assertEquals('oases', Str::pluralize('oasis')); $this->assertEquals('tomatoes', Str::pluralize('tomato')); $this->assertEquals('potatoes', Str::pluralize('potato')); $this->assertEquals('echoes', Str::pluralize('echo')); $this->assertEquals('heroes', Str::pluralize('hero')); $this->assertEquals('vetoes', Str::pluralize('veto')); $this->assertEquals('buses', Str::pluralize('bus')); $this->assertEquals('octopi', Str::pluralize('octopus')); $this->assertEquals('viri', Str::pluralize('virus')); $this->assertEquals('axes', Str::pluralize('axis')); $this->assertEquals('pluses', Str::pluralize('plus')); $this->assertEquals('humans', Str::pluralize('human')); $this->assertEquals('men', Str::pluralize('man')); $this->assertEquals('women', Str::pluralize('woman')); // Irregulars $this->assertEquals('aliases', Str::pluralize('alias')); $this->assertEquals('audio', Str::pluralize('audio')); $this->assertEquals('children', Str::pluralize('child')); $this->assertEquals('deer', Str::pluralize('deer')); $this->assertEquals('equipment', Str::pluralize('equipment')); $this->assertEquals('fish', Str::pluralize('fish')); $this->assertEquals('feet', Str::pluralize('foot')); $this->assertEquals('geese', Str::pluralize('goose')); $this->assertEquals('gold', Str::pluralize('gold')); $this->assertEquals('information', Str::pluralize('information')); $this->assertEquals('money', Str::pluralize('money')); $this->assertEquals('oxen', Str::pluralize('ox')); $this->assertEquals('police', Str::pluralize('police')); $this->assertEquals('series', Str::pluralize('series')); $this->assertEquals('sexes', Str::pluralize('sex')); $this->assertEquals('sheep', Str::pluralize('sheep')); $this->assertEquals('species', Str::pluralize('species')); $this->assertEquals('teeth', Str::pluralize('tooth')); // Should not pluralize when number === 1 $this->assertEquals('apple', Str::pluralize('apple', 1)); }
/** * Returns the table name of the model. * * @access public * @return string */ public function getTable() { if (empty($this->tableName)) { $this->tableName = Str::pluralize(Str::camel2underscored($this->getClassShortName())); } return $this->tableName; }