45
45
assertRaisesRegexp,
46
46
assertRaises,
47
47
makeCustomDataframe as mkdf,
48
- ensure_clean)
48
+ ensure_clean,
49
+ SubclassedDataFrame)
49
50
from pandas.core.indexing import IndexingError
50
51
from pandas.core.common import PandasError
51
52
@@ -14501,16 +14502,8 @@ def test_assign_bad(self):
14501
14502
14502
14503
def test_dataframe_metadata(self):
14503
14504
14504
- class TestDataFrame(DataFrame):
14505
- _metadata = ['testattr']
14506
-
14507
- @property
14508
- def _constructor(self):
14509
- return TestDataFrame
14510
-
14511
-
14512
- df = TestDataFrame({'X': [1, 2, 3], 'Y': [1, 2, 3]},
14513
- index=['a', 'b', 'c'])
14505
+ df = SubclassedDataFrame({'X': [1, 2, 3], 'Y': [1, 2, 3]},
14506
+ index=['a', 'b', 'c'])
14514
14507
df.testattr = 'XXX'
14515
14508
14516
14509
self.assertEqual(df.testattr, 'XXX')
@@ -14519,6 +14512,11 @@ def _constructor(self):
14519
14512
self.assertEqual(df.iloc[[0, 1], :].testattr, 'XXX')
14520
14513
# GH9776
14521
14514
self.assertEqual(df.iloc[0:1, :].testattr, 'XXX')
14515
+ # GH10553
14516
+ unpickled = self.round_trip_pickle(df)
14517
+ assert_frame_equal(df, unpickled)
14518
+ self.assertEqual(df._metadata, unpickled._metadata)
14519
+ self.assertEqual(df.testattr, unpickled.testattr)
14522
14520
14523
14521
def test_to_panel_expanddim(self):
14524
14522
# GH 9762
0 commit comments