File tree 4 files changed +35
-0
lines changed
4 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -36,6 +36,11 @@ class _IntegerDtype(ExtensionDtype):
36
36
type = None
37
37
na_value = np .nan
38
38
39
+ def __repr__ (self ):
40
+ sign = 'U' if self .is_unsigned_integer else ''
41
+ return "{sign}Int{size}Dtype()" .format (sign = sign ,
42
+ size = 8 * self .itemsize )
43
+
39
44
@cache_readonly
40
45
def is_signed_integer (self ):
41
46
return self .kind == 'i'
Original file line number Diff line number Diff line change @@ -38,8 +38,12 @@ def __init__(self, dtype):
38
38
self ._name = dtype .name
39
39
self ._type = dtype .type
40
40
41
+ def __repr__ (self ):
42
+ return "PandasDtype({!r})" .format (self .name )
43
+
41
44
@property
42
45
def numpy_dtype (self ):
46
+ """The NumPy dtype this PandasDtype wraps."""
43
47
return self ._dtype
44
48
45
49
@property
@@ -72,6 +76,7 @@ def kind(self):
72
76
73
77
@property
74
78
def itemsize (self ):
79
+ """The element size of this data-type object."""
75
80
return self ._dtype .itemsize
76
81
77
82
Original file line number Diff line number Diff line change @@ -57,6 +57,20 @@ def test_dtypes(dtype):
57
57
assert dtype .name is not None
58
58
59
59
60
+ @pytest .mark .parametrize ('dtype, expected' , [
61
+ (Int8Dtype (), 'Int8Dtype()' ),
62
+ (Int16Dtype (), 'Int16Dtype()' ),
63
+ (Int32Dtype (), 'Int32Dtype()' ),
64
+ (Int64Dtype (), 'Int64Dtype()' ),
65
+ (UInt8Dtype (), 'UInt8Dtype()' ),
66
+ (UInt16Dtype (), 'UInt16Dtype()' ),
67
+ (UInt32Dtype (), 'UInt32Dtype()' ),
68
+ (UInt64Dtype (), 'UInt64Dtype()' ),
69
+ ])
70
+ def test_repr_dtype (dtype , expected ):
71
+ assert repr (dtype ) == expected
72
+
73
+
60
74
def test_repr_array ():
61
75
result = repr (integer_array ([1 , None , 3 ]))
62
76
expected = (
Original file line number Diff line number Diff line change @@ -71,6 +71,17 @@ def test_is_boolean(dtype, expected):
71
71
assert dtype ._is_boolean is expected
72
72
73
73
74
+ def test_repr ():
75
+ dtype = PandasDtype (np .dtype ("int64" ))
76
+ assert repr (dtype ) == "PandasDtype('int64')"
77
+
78
+
79
+ def test_constructor_from_string ():
80
+ result = PandasDtype .construct_from_string ("int64" )
81
+ expected = PandasDtype (np .dtype ("int64" ))
82
+ assert result == expected
83
+
84
+
74
85
# ----------------------------------------------------------------------------
75
86
# Construction
76
87
You can’t perform that action at this time.
0 commit comments