@@ -1184,6 +1184,11 @@ def some_classmethod(cls):
11841184 def some_staticmethod ():
11851185 """A staticmethod"""
11861186
1187+ @property
1188+ @abc .abstractmethod
1189+ def some_property ():
1190+ """A property"""
1191+
11871192 class ConcreteClass (AbstractClass ):
11881193 def some_method (self ):
11891194 return 'it works!'
@@ -1197,6 +1202,10 @@ def some_classmethod(cls):
11971202 def some_staticmethod ():
11981203 return 'it works!'
11991204
1205+ @property
1206+ def some_property (self ):
1207+ return 'it works!'
1208+
12001209 # This abstract class is locally defined so we can safely register
12011210 # tuple in it to verify the unpickled class also register tuple.
12021211 AbstractClass .register (tuple )
@@ -1218,6 +1227,9 @@ def some_staticmethod():
12181227
12191228 self .assertEqual (depickled_class ().some_staticmethod (), 'it works!' )
12201229 self .assertEqual (depickled_instance .some_staticmethod (), 'it works!' )
1230+
1231+ self .assertEqual (depickled_class ().some_property , 'it works!' )
1232+ self .assertEqual (depickled_instance .some_property , 'it works!' )
12211233 self .assertRaises (TypeError , depickled_base )
12221234
12231235 class DepickledBaseSubclass (depickled_base ):
@@ -1233,6 +1245,10 @@ def some_classmethod(cls):
12331245 def some_staticmethod ():
12341246 return 'it works for realz!'
12351247
1248+ @property
1249+ def some_property ():
1250+ return 'it works for realz!'
1251+
12361252 self .assertEqual (DepickledBaseSubclass ().some_method (),
12371253 'it works for realz!' )
12381254
@@ -1261,7 +1277,7 @@ def some_staticmethod():
12611277
12621278 @abc .abstractproperty
12631279 def some_property (self ):
1264- """A staticmethod """
1280+ """A property """
12651281
12661282 class ConcreteClass (AbstractClass ):
12671283 def some_method (self ):
0 commit comments