예제 #1
0
 def test_smart_single_int(self):
     '''It is assumed that smart_validate could treat float-like objects as integers if they could be 
     converted to integers without loss of precision.
     '''
     single_int = '1'
     single_int_as_float = '1.0'
     single_float = '1.5'
     self.assertTrue(smart_validate(single_int, 'integer'))
     self.assertTrue(smart_validate(single_int_as_float, 'integer'))
     self.assertFalse(smart_validate(single_float, 'integer'))
예제 #2
0
 def test_smart_single_int(self):
     '''It is assumed that smart_validate could treat float-like objects as integers if they could be 
     converted to integers without loss of precision.
     '''
     single_int = '1'
     single_int_as_float = '1.0'
     single_float = '1.5'
     self.assertTrue(smart_validate(single_int, 'integer'))
     self.assertTrue(smart_validate(single_int_as_float, 'integer'))
     self.assertFalse(smart_validate(single_float, 'integer'))
예제 #3
0
 def test_smart_1D_validate_ints(self):
     sample_ints = '1,2,3,4,5' # Just integer, nothing to check
     sample_floats = '1.0,2.0,3.0,4.0,5.0' # convertable floats should be converted... 
     sample_right_ints1 = '1.0,2.0,3.0,4.0,5.5' # One non-convertable should be excluded
     sample_right_ints = '1,,2' # only one empty, this is not a mistake
     sample_empty = '' # empty array, thats might be... 
     sample_bad_ints = 'one, two, 1' # This is bad, we could not decide what should be here: integers or strings?
     sample_many_floats = '1.2, 1.3, 3' # Many floats should cause error, because they could not be truncated to ints and the number of its is 2.
     self.assertTrue(smart_validate(sample_ints, 'integer'))
     self.assertTrue(smart_validate(sample_empty, 'integer'))
     self.assertTrue(smart_validate(sample_right_ints, 'integer'))
     self.assertFalse(smart_validate(sample_bad_ints, 'integer'))
     self.assertTrue(smart_validate(sample_right_ints1, 'integer'))
     self.assertTrue(smart_validate(sample_floats, 'integer'))
     self.assertFalse(smart_validate(sample_many_floats, 'integer'))
예제 #4
0
 def test_smart_1D_validate_ints(self):
     sample_ints = '1,2,3,4,5'  # Just integer, nothing to check
     sample_floats = '1.0,2.0,3.0,4.0,5.0'  # convertable floats should be converted...
     sample_right_ints1 = '1.0,2.0,3.0,4.0,5.5'  # One non-convertable should be excluded
     sample_right_ints = '1,,2'  # only one empty, this is not a mistake
     sample_empty = ''  # empty array, thats might be...
     sample_bad_ints = 'one, two, 1'  # This is bad, we could not decide what should be here: integers or strings?
     sample_many_floats = '1.2, 1.3, 3'  # Many floats should cause error, because they could not be truncated to ints and the number of its is 2.
     self.assertTrue(smart_validate(sample_ints, 'integer'))
     self.assertTrue(smart_validate(sample_empty, 'integer'))
     self.assertTrue(smart_validate(sample_right_ints, 'integer'))
     self.assertFalse(smart_validate(sample_bad_ints, 'integer'))
     self.assertTrue(smart_validate(sample_right_ints1, 'integer'))
     self.assertTrue(smart_validate(sample_floats, 'integer'))
     self.assertFalse(smart_validate(sample_many_floats, 'integer'))
예제 #5
0
 def test_smart_1D_validate_floats(self):
     sample_floats = '1.0,2.0,3.0,4.0,5.0'
     sample_ints = '1,2,3'
     sample_right_floats = '1.0,2.,,3.'
     sample_empty = ''
     sample_bad_floats = 'one, two, 1.0'
     sample_few_floats = 'one, 2.0, 1.0'
     self.assertTrue(smart_validate(sample_floats, 'float'))
     self.assertTrue(smart_validate(sample_ints, 'float'))
     self.assertTrue(smart_validate(sample_right_floats, 'float'))
     self.assertTrue(smart_validate(sample_empty, 'float')) # This should be treated as empty array...
     self.assertTrue(smart_validate(sample_few_floats, 'float')) 
     self.assertFalse(smart_validate(sample_bad_floats, 'float'))
예제 #6
0
 def test_smart_1D_validate_floats(self):
     sample_floats = '1.0,2.0,3.0,4.0,5.0'
     sample_ints = '1,2,3'
     sample_right_floats = '1.0,2.,,3.'
     sample_empty = ''
     sample_bad_floats = 'one, two, 1.0'
     sample_few_floats = 'one, 2.0, 1.0'
     self.assertTrue(smart_validate(sample_floats, 'float'))
     self.assertTrue(smart_validate(sample_ints, 'float'))
     self.assertTrue(smart_validate(sample_right_floats, 'float'))
     self.assertTrue(smart_validate(
         sample_empty, 'float'))  # This should be treated as empty array...
     self.assertTrue(smart_validate(sample_few_floats, 'float'))
     self.assertFalse(smart_validate(sample_bad_floats, 'float'))
예제 #7
0
 def test_smart_2D_validate_floats(self):
     sample_2D_floats = '1.0,2.0,3.4\n 4.4,5,6.0' 
     sample_2D_bad_floats = '1.0,tor, cot\n 1,cot,3'
     self.assertTrue(smart_validate(sample_2D_floats, 'float'))
     self.assertFalse(smart_validate(sample_2D_bad_floats, 'float'))
예제 #8
0
 def test_smart_2D_validate_ints(self):
     sample_2D_ints = '1,2,3\n 4,5,6' 
     sample_2D_floats_like_ints = '1.0, 3.0\n 1, 2'
     self.assertTrue(smart_validate(sample_2D_ints, 'integer'))
     self.assertTrue(smart_validate(sample_2D_floats_like_ints, 'integer'))
예제 #9
0
 def test_smart_2D_validate_floats(self):
     sample_2D_floats = '1.0,2.0,3.4\n 4.4,5,6.0'
     sample_2D_bad_floats = '1.0,tor, cot\n 1,cot,3'
     self.assertTrue(smart_validate(sample_2D_floats, 'float'))
     self.assertFalse(smart_validate(sample_2D_bad_floats, 'float'))
예제 #10
0
 def test_smart_2D_validate_ints(self):
     sample_2D_ints = '1,2,3\n 4,5,6'
     sample_2D_floats_like_ints = '1.0, 3.0\n 1, 2'
     self.assertTrue(smart_validate(sample_2D_ints, 'integer'))
     self.assertTrue(smart_validate(sample_2D_floats_like_ints, 'integer'))