def test_localization(self): field = FloatField() self.assertAlmostEqual('', field.localize(None)) self.assertAlmostEqual('', field.localize('')) self.assertAlmostEqual('1.34', field.localize(1.34)) self.assertAlmostEqual('1,111,000.34', field.localize(1111000.34)) self.assertAlmostEqual('1,111,000.33', field.localize(1111000.33))
def test_validation_upper(self): field = FloatField(upper=1.3) field._set_attr_name('n') self.assertIsNone(field.validate('1.29')) self.assertEqual('Must be less than 1.3', field.validate('2'))
def test_validation_lower(self): field = FloatField(lower=1.2) field._set_attr_name('n') self.assertIsNone(field.validate('1.21')) self.assertEqual('Must be greater than 1.2', field.validate('0'))
def test_validation(self): field = FloatField() field._set_attr_name('n') self.assertIsNone(field.validate(None)) self.assertIsNone(field.validate('')) self.assertIsNone(field.validate('0')) self.assertIsNone(field.validate('1')) self.assertIsNone(field.validate(1)) self.assertIsNone(field.validate(1.34)) self.assertIsNone(field.validate('1,090,898.00')) self.assertEqual('Must be a number', field.validate('foo')) self.assertEqual('Must be a number', field.validate('123h')) self.assertEqual('Must be a number', field.validate('0x456'))
def test_normalization(self): field = FloatField() self.assertIsNone(field.normalize(None)) self.assertIsNone(field.normalize('')) self.assertAlmostEqual(1.339999999, field.normalize('1.339999999')) self.assertAlmostEqual(0, field.normalize('0')) self.assertAlmostEqual(1, field.normalize(1)) self.assertAlmostEqual(1.34, field.normalize('1.34')) self.assertAlmostEqual(1.34, field.normalize(1.34)) self.assertAlmostEqual(1000.34, field.normalize('1,000.34')) self.assertAlmostEqual(1111000.34, field.normalize('1,111,000.34')) self.assertAlmostEqual(1111000.3399999, field.normalize('1,111,000.3399999'))
def test_zero(self): field = FloatField() self.assertEqual('0', field.localize(0.0)) self.assertEqual('0', field.localize(0))