public function testValidation()
 {
     $validator = new ScientificNotationValidator('it_IT');
     $this->assertTrue($validator->isValid('1E3'));
     $this->assertTrue($validator->isValid('1e-3'));
     $this->assertTrue($validator->isValid('1e+3'));
     $this->assertTrue($validator->isValid('1E+3'));
     $this->assertTrue($validator->isValid('1.5E10'));
     $this->assertTrue($validator->isValid('.5E10'));
     $this->assertFalse($validator->isValid('.5E10 ABC'));
     $this->assertFalse($validator->isValid('1E+3 ABC'));
     $this->assertFalse($validator->isValid('1AE+3'));
     $this->assertFalse($validator->isValid(1000.0));
     $this->assertFalse($validator->isValid(1000));
     $this->assertFalse($validator->isValid(NAN));
     $this->assertFalse($validator->isValid(0.5));
     $this->assertFalse($validator->isValid([]));
 }
 /**
  * @param $expected
  * @param $value
  * @param $locale
  * @dataProvider valuesProvider
  */
 public function testAllValues($expected, $value, $locale)
 {
     $this->validator->setLocale($locale);
     $this->assertEquals($expected, $this->validator->isValid($value), sprintf("'Failed expecting '%s' being %s (locale: %s, type: %s)", $value, $expected ? 'TRUE' : 'FALSE', $locale, gettype($value)));
     self::writeData(['locale' => $locale, 'value' => $value, 'valid' => $expected ? 'true' : 'false']);
 }