public function testAddingSingularizationRules() {
$before = Inflector::rules('singular');
$result = Inflector::singularize('errata');
$this->assertNull(Inflector::rules('singular', array('/rata/' => '\1ratus')));
$this->assertEqual(Inflector::singularize('errata'), $result);
Inflector::reset();
$this->assertNotEqual(Inflector::singularize('errata'), $result);
$after = Inflector::rules('singular');
$expected = array(
'rules', 'irregular', 'uninflected', 'regexUninflected', 'regexIrregular'
);
$this->assertEqual(array_keys($before), $expected);
$this->assertEqual(array_keys($after), $expected);
$result = array_diff($after['rules'], $before['rules']);
$this->assertEqual($result, array('/rata/' => '\1ratus'));
foreach (array('irregular', 'uninflected', 'regexUninflected', 'regexIrregular') as $key) {
$this->assertIdentical($before[$key], $after[$key]);
}
$this->assertNull(Inflector::rules('singular', array('rules' => array(
'/rata/' => '\1ratus'
))));
$this->assertIdentical(Inflector::rules('singular'), $after);
}