Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_get_type_str(self):
self.assertEqual(Unicode[4], get_type('Test'))
self.assertEqual(Int8, get_type(np.int8(42)))
self.assertEqual(Int16, get_type(np.int16(42)))
self.assertEqual(Int32, get_type(np.int32(42)))
self.assertEqual(Int64, get_type(np.int64(42)))
self.assertEqual(UInt8, get_type(np.uint8(42)))
self.assertEqual(UInt16, get_type(np.uint16(42)))
self.assertEqual(UInt32, get_type(np.uint32(42)))
self.assertEqual(UInt64, get_type(np.uint64(42)))
self.assertEqual(Float16, get_type(np.float16(42.0)))
self.assertEqual(Float32, get_type(np.float32(42.0)))
self.assertEqual(Float64, get_type(np.float64(42.0)))
self.assertEqual(Unicode, get_type(np.unicode))
self.assertEqual(Unicode[40], get_type(np.dtype(('U', 40))))
self.assertEqual(Bool, get_type(np.bool_(True)))
self.assertEqual(Bool, get_type(np.bool_(False)))
def get_type_str(obj: Any) -> Type[Unicode]:
"""
Return the NPType that corresponds to obj.
:param obj: a string compatible object.
:return: a Unicode type.
"""
if isinstance(obj, numpy.dtype):
return Unicode[obj.itemsize / 4]
if obj == str:
return Unicode
if not isinstance(obj, str):
raise TypeError('Unsupported type {}'.format(type(obj)))
return Unicode[len(obj)]
def get_type_str(obj: Any) -> Type[Unicode]:
"""
Return the NPType that corresponds to obj.
:param obj: a string compatible object.
:return: a Unicode type.
"""
if isinstance(obj, numpy.dtype):
return Unicode[obj.itemsize / 4]
if obj == str:
return Unicode
if not isinstance(obj, str):
raise TypeError('Unsupported type {}'.format(type(obj)))
return Unicode[len(obj)]
def __subclasscheck__(cls, subclass: type) -> bool:
if Unicode in get_mro(subclass):
return cls.chars is Any or subclass.chars <= cls.chars
return False