def is_numeric(cls, s): return str(StringCleaner.extract_numbers_safe(s)) == str(s)
def test_extract_numbers_safe(self): self.assertEqual(StringCleaner.extract_numbers_safe('123'), '123') self.assertEqual(StringCleaner.extract_numbers_safe('1a2b3c'), '123') self.assertEqual(StringCleaner.extract_numbers_safe('1-2-3-'), '123') self.assertEqual(StringCleaner.extract_numbers_safe(None), '') self.assertEqual(StringCleaner.extract_numbers_safe(7), '7') self.assertEqual(StringCleaner.extract_numbers_safe('-1'), '-1') self.assertEqual(StringCleaner.extract_numbers_safe('-3.14'), '-314') self.assertEqual(StringCleaner.extract_numbers_safe('-3.14', decimals=True), '-3.14') self.assertEqual(StringCleaner.extract_numbers_safe('-314', decimals=True), '-314') self.assertEqual(StringCleaner.extract_numbers_safe('314', decimals=True), '314') self.assertEqual(StringCleaner.extract_numbers_safe('-3.14.25'), '-31425') self.assertEqual(StringCleaner.extract_numbers_safe('-3.14.25', decimals=True), '-3.14') self.assertEqual(StringCleaner.extract_numbers_safe('1,024'), '1024')