def test_construction(self): with tm.assertRaises(ValueError): IntervalDtype('xx') for s in ['interval[int64]', 'Interval[int64]', 'int64']: i = IntervalDtype(s) self.assertEqual(i.subtype, np.dtype('int64')) self.assertTrue(is_interval_dtype(i))
def test_construction_generic(self): # generic i = IntervalDtype('interval') self.assertIs(i.subtype, None) self.assertTrue(is_interval_dtype(i)) self.assertTrue(str(i) == 'interval') i = IntervalDtype() self.assertIs(i.subtype, None) self.assertTrue(is_interval_dtype(i)) self.assertTrue(str(i) == 'interval')
def test_construction_from_string(self): result = IntervalDtype('interval[int64]') self.assertTrue(is_dtype_equal(self.dtype, result)) result = IntervalDtype.construct_from_string('interval[int64]') self.assertTrue(is_dtype_equal(self.dtype, result)) with tm.assertRaises(TypeError): IntervalDtype.construct_from_string('foo') with tm.assertRaises(TypeError): IntervalDtype.construct_from_string('interval[foo]') with tm.assertRaises(TypeError): IntervalDtype.construct_from_string('foo[int64]')
def test_equality(self): self.assertTrue(is_dtype_equal(self.dtype, 'interval[int64]')) self.assertTrue(is_dtype_equal(self.dtype, IntervalDtype('int64'))) self.assertTrue(is_dtype_equal(self.dtype, IntervalDtype('int64'))) self.assertTrue( is_dtype_equal(IntervalDtype('int64'), IntervalDtype('int64'))) self.assertFalse(is_dtype_equal(self.dtype, 'int64')) self.assertFalse( is_dtype_equal(IntervalDtype('int64'), IntervalDtype('float64')))
def dtype(self): return IntervalDtype.construct_from_string(str(self.left.dtype))
def test_coerce_to_dtype(self): self.assertEqual(_coerce_to_dtype('interval[int64]'), IntervalDtype('interval[int64]'))
def test_identity(self): self.assertEqual(IntervalDtype('interval[int64]'), IntervalDtype('interval[int64]'))
def test_is_dtype(self): self.assertTrue(IntervalDtype.is_dtype(self.dtype)) self.assertTrue(IntervalDtype.is_dtype('interval')) self.assertTrue(IntervalDtype.is_dtype(IntervalDtype('float64'))) self.assertTrue(IntervalDtype.is_dtype(IntervalDtype('int64'))) self.assertTrue(IntervalDtype.is_dtype(IntervalDtype(np.int64))) self.assertFalse(IntervalDtype.is_dtype('D')) self.assertFalse(IntervalDtype.is_dtype('3D')) self.assertFalse(IntervalDtype.is_dtype('U')) self.assertFalse(IntervalDtype.is_dtype('S')) self.assertFalse(IntervalDtype.is_dtype('foo')) self.assertFalse(IntervalDtype.is_dtype(np.object_)) self.assertFalse(IntervalDtype.is_dtype(np.int64)) self.assertFalse(IntervalDtype.is_dtype(np.float64))
def test_subclass(self): a = IntervalDtype('interval[int64]') b = IntervalDtype('interval[int64]') self.assertTrue(issubclass(type(a), type(a))) self.assertTrue(issubclass(type(a), type(b)))
def setUp(self): self.dtype = IntervalDtype('int64')