mirror of
https://github.com/Infinidat/infi.clickhouse_orm.git
synced 2025-02-22 11:12:46 +03:00
Added a test for isinstance and fixed a bug
This commit is contained in:
parent
3fa18d32d9
commit
5059902947
|
@ -92,7 +92,7 @@ class Field(object):
|
||||||
while inner_field:
|
while inner_field:
|
||||||
if isinstance(inner_field, types):
|
if isinstance(inner_field, types):
|
||||||
return True
|
return True
|
||||||
inner_field = getattr(self, 'inner_field', None)
|
inner_field = getattr(inner_field, 'inner_field', None)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,22 @@ class NullableFieldsTest(unittest.TestCase):
|
||||||
else:
|
else:
|
||||||
self.assertEquals(python_value, value)
|
self.assertEquals(python_value, value)
|
||||||
|
|
||||||
|
def test_isinstance(self):
|
||||||
|
for field in (StringField, UInt8Field, Float32Field, DateTimeField):
|
||||||
|
f = NullableField(field())
|
||||||
|
self.assertTrue(f.isinstance(field))
|
||||||
|
self.assertTrue(f.isinstance(NullableField))
|
||||||
|
for field in (Int8Field, Int16Field, Int32Field, Int64Field, UInt8Field, UInt16Field, UInt32Field, UInt64Field):
|
||||||
|
f = NullableField(field())
|
||||||
|
self.assertTrue(f.isinstance(BaseIntField))
|
||||||
|
for field in (Float32Field, Float64Field):
|
||||||
|
f = NullableField(field())
|
||||||
|
self.assertTrue(f.isinstance(BaseFloatField))
|
||||||
|
f = NullableField(NullableField(UInt32Field()))
|
||||||
|
self.assertTrue(f.isinstance(BaseIntField))
|
||||||
|
self.assertTrue(f.isinstance(NullableField))
|
||||||
|
self.assertFalse(f.isinstance(BaseFloatField))
|
||||||
|
|
||||||
def _insert_sample_data(self):
|
def _insert_sample_data(self):
|
||||||
dt = date(1970, 1, 1)
|
dt = date(1970, 1, 1)
|
||||||
self.database.insert([
|
self.database.insert([
|
||||||
|
|
Loading…
Reference in New Issue
Block a user