Skip to content

Commit 47669d3

Browse files
TST: move empty dtype tests from c_parser_only to dtype tests
1 parent be2b43b commit 47669d3

File tree

2 files changed

+46
-46
lines changed

2 files changed

+46
-46
lines changed

pandas/io/tests/parser/c_parser_only.py

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -371,49 +371,3 @@ def test_internal_null_byte(self):
371371

372372
result = self.read_csv(StringIO(data), names=names)
373373
tm.assert_frame_equal(result, expected)
374-
375-
def test_empty_dtype(self):
376-
# see gh-14712
377-
data = 'a,b'
378-
379-
expected = pd.DataFrame(columns=['a', 'b'], dtype=np.float64)
380-
result = self.read_csv(StringIO(data), header=0, dtype=np.float64)
381-
tm.assert_frame_equal(result, expected)
382-
383-
expected = pd.DataFrame({'a': pd.Categorical([]),
384-
'b': pd.Categorical([])},
385-
index=[])
386-
result = self.read_csv(StringIO(data), header=0,
387-
dtype='category')
388-
tm.assert_frame_equal(result, expected)
389-
390-
expected = pd.DataFrame(columns=['a', 'b'], dtype='datetime64[ns]')
391-
result = self.read_csv(StringIO(data), header=0,
392-
dtype='datetime64[ns]')
393-
tm.assert_frame_equal(result, expected)
394-
395-
expected = pd.DataFrame({'a': pd.Series([], dtype='timedelta64[ns]'),
396-
'b': pd.Series([], dtype='timedelta64[ns]')},
397-
index=[])
398-
result = self.read_csv(StringIO(data), header=0,
399-
dtype='timedelta64[ns]')
400-
tm.assert_frame_equal(result, expected)
401-
402-
expected = pd.DataFrame(columns=['a', 'b'])
403-
expected['a'] = expected['a'].astype(np.float64)
404-
result = self.read_csv(StringIO(data), header=0,
405-
dtype={'a': np.float64})
406-
tm.assert_frame_equal(result, expected)
407-
408-
expected = pd.DataFrame(columns=['a', 'b'])
409-
expected['a'] = expected['a'].astype(np.float64)
410-
result = self.read_csv(StringIO(data), header=0,
411-
dtype={0: np.float64})
412-
tm.assert_frame_equal(result, expected)
413-
414-
expected = pd.DataFrame(columns=['a', 'b'])
415-
expected['a'] = expected['a'].astype(np.int32)
416-
expected['b'] = expected['b'].astype(np.float64)
417-
result = self.read_csv(StringIO(data), header=0,
418-
dtype={'a': np.int32, 1: np.float64})
419-
tm.assert_frame_equal(result, expected)

pandas/io/tests/parser/dtypes.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,49 @@ def test_dtype_with_converter(self):
226226
converters={'a': lambda x: str(x)})
227227
expected = DataFrame({'a': ['1.1', '1.2'], 'b': [2.2, 2.3]})
228228
tm.assert_frame_equal(result, expected)
229+
230+
def test_empty_dtype(self):
231+
# see gh-14712
232+
data = 'a,b'
233+
234+
expected = pd.DataFrame(columns=['a', 'b'], dtype=np.float64)
235+
result = self.read_csv(StringIO(data), header=0, dtype=np.float64)
236+
tm.assert_frame_equal(result, expected)
237+
238+
expected = pd.DataFrame({'a': pd.Categorical([]),
239+
'b': pd.Categorical([])},
240+
index=[])
241+
result = self.read_csv(StringIO(data), header=0,
242+
dtype='category')
243+
tm.assert_frame_equal(result, expected)
244+
245+
expected = pd.DataFrame(columns=['a', 'b'], dtype='datetime64[ns]')
246+
result = self.read_csv(StringIO(data), header=0,
247+
dtype='datetime64[ns]')
248+
tm.assert_frame_equal(result, expected)
249+
250+
expected = pd.DataFrame({'a': pd.Series([], dtype='timedelta64[ns]'),
251+
'b': pd.Series([], dtype='timedelta64[ns]')},
252+
index=[])
253+
result = self.read_csv(StringIO(data), header=0,
254+
dtype='timedelta64[ns]')
255+
tm.assert_frame_equal(result, expected)
256+
257+
expected = pd.DataFrame(columns=['a', 'b'])
258+
expected['a'] = expected['a'].astype(np.float64)
259+
result = self.read_csv(StringIO(data), header=0,
260+
dtype={'a': np.float64})
261+
tm.assert_frame_equal(result, expected)
262+
263+
expected = pd.DataFrame(columns=['a', 'b'])
264+
expected['a'] = expected['a'].astype(np.float64)
265+
result = self.read_csv(StringIO(data), header=0,
266+
dtype={0: np.float64})
267+
tm.assert_frame_equal(result, expected)
268+
269+
expected = pd.DataFrame(columns=['a', 'b'])
270+
expected['a'] = expected['a'].astype(np.int32)
271+
expected['b'] = expected['b'].astype(np.float64)
272+
result = self.read_csv(StringIO(data), header=0,
273+
dtype={'a': np.int32, 1: np.float64})
274+
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)