|
6 | 6 | from pandas.types.dtypes import DatetimeTZDtype, PeriodDtype, CategoricalDtype
|
7 | 7 | from pandas.types.common import pandas_dtype, is_dtype_equal
|
8 | 8 |
|
| 9 | +import pandas.util.testing as tm |
| 10 | + |
9 | 11 | _multiprocess_can_split_ = True
|
10 | 12 |
|
11 | 13 |
|
12 |
| -def test_pandas_dtype(): |
| 14 | +class TestPandasDtype(tm.TestCase): |
| 15 | + |
| 16 | + def test_numpy_dtype(self): |
| 17 | + for dtype in ['M8[ns]', 'm8[ns]', 'object', 'float64', 'int64']: |
| 18 | + self.assertEqual(pandas_dtype(dtype), np.dtype(dtype)) |
| 19 | + |
| 20 | + def test_numpy_string_dtype(self): |
| 21 | + # do not parse freq-like string as period dtype |
| 22 | + self.assertEqual(pandas_dtype('U'), np.dtype('U')) |
| 23 | + self.assertEqual(pandas_dtype('S'), np.dtype('S')) |
| 24 | + |
| 25 | + def test_datetimetz_dtype(self): |
| 26 | + for dtype in ['datetime64[ns, US/Eastern]', |
| 27 | + 'datetime64[ns, Asia/Tokyo]', |
| 28 | + 'datetime64[ns, UTC]']: |
| 29 | + self.assertIs(pandas_dtype(dtype), DatetimeTZDtype(dtype)) |
| 30 | + self.assertEqual(pandas_dtype(dtype), DatetimeTZDtype(dtype)) |
| 31 | + self.assertEqual(pandas_dtype(dtype), dtype) |
| 32 | + |
| 33 | + def test_categorical_dtype(self): |
| 34 | + self.assertEqual(pandas_dtype('category'), CategoricalDtype()) |
13 | 35 |
|
14 |
| - assert pandas_dtype('datetime64[ns, US/Eastern]') == DatetimeTZDtype( |
15 |
| - 'datetime64[ns, US/Eastern]') |
16 |
| - assert pandas_dtype('category') == CategoricalDtype() |
17 |
| - for dtype in ['M8[ns]', 'm8[ns]', 'object', 'float64', 'int64']: |
18 |
| - assert pandas_dtype(dtype) == np.dtype(dtype) |
| 36 | + def test_period_dtype(self): |
| 37 | + for dtype in ['period[D]', 'period[3M]', 'period[U]', |
| 38 | + 'Period[D]', 'Period[3M]', 'Period[U]']: |
| 39 | + self.assertIs(pandas_dtype(dtype), PeriodDtype(dtype)) |
| 40 | + self.assertEqual(pandas_dtype(dtype), PeriodDtype(dtype)) |
| 41 | + self.assertEqual(pandas_dtype(dtype), dtype) |
19 | 42 |
|
20 | 43 |
|
21 | 44 | def test_dtype_equal():
|
|
0 commit comments