Skip to content

Commit 5dcec57

Browse files
committed
Move several tests to SharedWithSparse
1 parent 14f7047 commit 5dcec57

File tree

3 files changed

+72
-134
lines changed

3 files changed

+72
-134
lines changed

pandas/tests/series/test_api.py

+70
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# coding=utf-8
22
# pylint: disable-msg=E1101,W0612
3+
from collections import OrderedDict
34

45
import pytest
56

@@ -117,9 +118,78 @@ def test_to_sparse_pass_name(self):
117118
result = self.ts.to_sparse()
118119
assert result.name == self.ts.name
119120

121+
def test_constructor_dict(self):
122+
d = {'a': 0., 'b': 1., 'c': 2.}
123+
result = self.Series(d)
124+
expected = self.Series(d, index=sorted(d.keys()))
125+
tm.assert_series_equal(result, expected)
126+
127+
result = self.Series(d, index=['b', 'c', 'd', 'a'])
128+
expected = self.Series([1, 2, np.nan, 0], index=['b', 'c', 'd', 'a'])
129+
tm.assert_series_equal(result, expected)
130+
131+
def test_constructor_subclass_dict(self):
132+
data = tm.TestSubDict((x, 10.0 * x) for x in range(10))
133+
series = self.Series(data)
134+
expected = self.Series(dict(compat.iteritems(data)))
135+
tm.assert_series_equal(series, expected)
136+
137+
def test_constructor_ordereddict(self):
138+
# GH3283
139+
data = OrderedDict(
140+
('col%s' % i, np.random.random()) for i in range(12))
141+
142+
series = self.Series(data)
143+
expected = self.Series(list(data.values()), list(data.keys()))
144+
tm.assert_series_equal(series, expected)
145+
146+
# Test with subclass
147+
class A(OrderedDict):
148+
pass
149+
150+
series = self.Series(A(data))
151+
tm.assert_series_equal(series, expected)
152+
153+
def test_constructor_dict_multiindex(self):
154+
d = {('a', 'a'): 0., ('b', 'a'): 1., ('b', 'c'): 2.}
155+
_d = sorted(d.items())
156+
result = self.Series(d)
157+
expected = self.Series(
158+
[x[1] for x in _d],
159+
index=pd.MultiIndex.from_tuples([x[0] for x in _d]))
160+
tm.assert_series_equal(result, expected)
161+
162+
d['z'] = 111.
163+
_d.insert(0, ('z', d['z']))
164+
result = self.Series(d)
165+
expected = self.Series([x[1] for x in _d],
166+
index=pd.Index([x[0] for x in _d],
167+
tupleize_cols=False))
168+
result = result.reindex(index=expected.index)
169+
tm.assert_series_equal(result, expected)
170+
171+
def test_constructor_dict_timedelta_index(self):
172+
# GH #12169 : Resample category data with timedelta index
173+
# construct Series from dict as data and TimedeltaIndex as index
174+
# will result NaN in result Series data
175+
expected = self.Series(
176+
data=['A', 'B', 'C'],
177+
index=pd.to_timedelta([0, 10, 20], unit='s')
178+
)
179+
180+
result = self.Series(
181+
data={pd.to_timedelta(0, unit='s'): 'A',
182+
pd.to_timedelta(10, unit='s'): 'B',
183+
pd.to_timedelta(20, unit='s'): 'C'},
184+
index=pd.to_timedelta([0, 10, 20], unit='s')
185+
)
186+
tm.assert_series_equal(result, expected)
187+
120188

121189
class TestSeriesMisc(TestData, SharedWithSparse):
122190

191+
Series = Series
192+
123193
def test_tab_completion(self):
124194
# GH 9910
125195
s = Series(list('abcd'))

pandas/tests/series/test_constructors.py

-62
Original file line numberDiff line numberDiff line change
@@ -605,48 +605,6 @@ def test_constructor_dict(self):
605605
expected.iloc[1] = 1
606606
assert_series_equal(result, expected)
607607

608-
def test_constructor_dict_multiindex(self):
609-
check = lambda result, expected: tm.assert_series_equal(
610-
result, expected, check_dtype=True, check_series_type=True)
611-
d = {('a', 'a'): 0., ('b', 'a'): 1., ('b', 'c'): 2.}
612-
_d = sorted(d.items())
613-
ser = Series(d)
614-
expected = Series([x[1] for x in _d],
615-
index=MultiIndex.from_tuples([x[0] for x in _d]))
616-
check(ser, expected)
617-
618-
d['z'] = 111.
619-
_d.insert(0, ('z', d['z']))
620-
ser = Series(d)
621-
expected = Series([x[1] for x in _d], index=Index(
622-
[x[0] for x in _d], tupleize_cols=False))
623-
ser = ser.reindex(index=expected.index)
624-
check(ser, expected)
625-
626-
def test_constructor_dict_timedelta_index(self):
627-
# GH #12169 : Resample category data with timedelta index
628-
# construct Series from dict as data and TimedeltaIndex as index
629-
# will result NaN in result Series data
630-
expected = Series(
631-
data=['A', 'B', 'C'],
632-
index=pd.to_timedelta([0, 10, 20], unit='s')
633-
)
634-
635-
result = Series(
636-
data={pd.to_timedelta(0, unit='s'): 'A',
637-
pd.to_timedelta(10, unit='s'): 'B',
638-
pd.to_timedelta(20, unit='s'): 'C'},
639-
index=pd.to_timedelta([0, 10, 20], unit='s')
640-
)
641-
# this should work
642-
assert_series_equal(result, expected)
643-
644-
def test_constructor_subclass_dict(self):
645-
data = tm.TestSubDict((x, 10.0 * x) for x in range(10))
646-
series = Series(data)
647-
refseries = Series(dict(compat.iteritems(data)))
648-
assert_series_equal(refseries, series)
649-
650608
def test_constructor_dict_datetime64_index(self):
651609
# GH 9456
652610

@@ -670,26 +628,6 @@ def create_data(constructor):
670628
assert_series_equal(result_datetime, expected)
671629
assert_series_equal(result_Timestamp, expected)
672630

673-
def test_orderedDict_ctor(self):
674-
# GH3283
675-
import pandas
676-
import random
677-
data = OrderedDict([('col%s' % i, random.random()) for i in range(12)])
678-
s = pandas.Series(data)
679-
assert all(s.values == list(data.values()))
680-
681-
def test_orderedDict_subclass_ctor(self):
682-
# GH3283
683-
import pandas
684-
import random
685-
686-
class A(OrderedDict):
687-
pass
688-
689-
data = A([('col%s' % i, random.random()) for i in range(12)])
690-
s = pandas.Series(data)
691-
assert all(s.values == list(data.values()))
692-
693631
def test_constructor_list_of_tuples(self):
694632
data = [(1, 1), (2, 2), (2, 3)]
695633
s = Series(data)

pandas/tests/sparse/test_series.py

+2-72
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# pylint: disable-msg=E1101,W0612
22

33
import operator
4-
from collections import OrderedDict
54
from datetime import datetime
65

76
import pytest
@@ -61,6 +60,8 @@ def _test_data2_zero():
6160

6261
class TestSparseSeries(SharedWithSparse):
6362

63+
Series = SparseSeries
64+
6465
def setup_method(self, method):
6566
arr, index = _test_data1()
6667

@@ -1366,61 +1367,6 @@ def test_numpy_func_call(self):
13661367
getattr(np, func)(getattr(self, series))
13671368

13681369

1369-
def test_constructor_dict():
1370-
d = {'a': 0., 'b': 1., 'c': 2.}
1371-
result = SparseSeries(d)
1372-
expected = SparseSeries(d, index=sorted(d.keys()))
1373-
tm.assert_sp_series_equal(result, expected)
1374-
1375-
result = SparseSeries(d, index=['b', 'c', 'd', 'a'])
1376-
expected = SparseSeries([1, 2, nan, 0], index=['b', 'c', 'd', 'a'])
1377-
tm.assert_sp_series_equal(result, expected)
1378-
1379-
1380-
def test_constructor_dict_multiindex():
1381-
d = {('a', 'a'): 0., ('b', 'a'): 1., ('b', 'c'): 2.}
1382-
_d = sorted(d.items())
1383-
result = SparseSeries(d)
1384-
expected = SparseSeries(
1385-
[x[1] for x in _d],
1386-
index=pd.MultiIndex.from_tuples([x[0] for x in _d]))
1387-
tm.assert_series_equal(result, expected)
1388-
1389-
d['z'] = 111.
1390-
_d.insert(0, ('z', d['z']))
1391-
result = SparseSeries(d)
1392-
expected = SparseSeries([x[1] for x in _d],
1393-
index=pd.Index([x[0] for x in _d],
1394-
tupleize_cols=False))
1395-
result = result.reindex(index=expected.index)
1396-
tm.assert_series_equal(result, expected)
1397-
1398-
1399-
def test_constructor_dict_timedelta_index():
1400-
# GH #12169 : Resample category data with timedelta index
1401-
# construct Series from dict as data and TimedeltaIndex as index
1402-
# will result NaN in result Series data
1403-
expected = SparseSeries(
1404-
data=['A', 'B', 'C'],
1405-
index=pd.to_timedelta([0, 10, 20], unit='s')
1406-
)
1407-
1408-
result = SparseSeries(
1409-
data={pd.to_timedelta(0, unit='s'): 'A',
1410-
pd.to_timedelta(10, unit='s'): 'B',
1411-
pd.to_timedelta(20, unit='s'): 'C'},
1412-
index=pd.to_timedelta([0, 10, 20], unit='s')
1413-
)
1414-
tm.assert_sp_series_equal(result, expected)
1415-
1416-
1417-
def test_constructor_subclass_dict():
1418-
data = tm.TestSubDict((x, 10.0 * x) for x in range(10))
1419-
series = SparseSeries(data)
1420-
expected = SparseSeries(dict(compat.iteritems(data)))
1421-
tm.assert_sp_series_equal(series, expected)
1422-
1423-
14241370
@pytest.mark.parametrize(
14251371
'datetime_type', (np.datetime64,
14261372
pd.Timestamp,
@@ -1434,19 +1380,3 @@ def test_constructor_dict_datetime64_index(datetime_type):
14341380
expected = SparseSeries(values, map(pd.Timestamp, dates))
14351381

14361382
tm.assert_sp_series_equal(result, expected)
1437-
1438-
1439-
def test_orderedDict_ctor():
1440-
# GH3283
1441-
data = OrderedDict(('col%s' % i, np.random.random()) for i in range(12))
1442-
1443-
series = SparseSeries(data)
1444-
expected = SparseSeries(list(data.values()), list(data.keys()))
1445-
tm.assert_sp_series_equal(series, expected)
1446-
1447-
# Test with subclass
1448-
class A(OrderedDict):
1449-
pass
1450-
1451-
series = SparseSeries(A(data))
1452-
tm.assert_sp_series_equal(series, expected)

0 commit comments

Comments
 (0)