public function testChangeLocaleOnFly() { // Store symbols and regex components from it_IT $itLocale = 'it_IT'; $itFilter = new Uncurrency($itLocale); $itFormatter = $itFilter->getFormatter(); $itOpts = $itFilter->getOptions(); $itRegexComponents = $itFilter->getRegexComponents(); // Store symbols and regex components from ar_AE $aeLocale = 'ar_AE'; $aeFilter = new Uncurrency($aeLocale); $aeFormatter = $aeFilter->getFormatter(); $aeOpts = $aeFilter->getOptions(); $aeRegexComponents = $aeFilter->getRegexComponents(); // We instantiate a single filter $filter = new Uncurrency(); $filter->setLocale('it_IT'); $this->assertEquals($itLocale, $filter->getLocale()); $this->assertEquals($itFormatter, $filter->getFormatter()); $this->assertEquals($itRegexComponents, $filter->getRegexComponents()); $this->assertEquals($itOpts, $filter->getOptions()); // Now we change its locale on fly $filter->setLocale('ar_AE'); $this->assertEquals($aeLocale, $filter->getLocale()); $this->assertEquals($aeFormatter, $filter->getFormatter()); $this->assertEquals($aeRegexComponents, $filter->getRegexComponents()); $this->assertEquals($aeOpts, $filter->getOptions()); }