File tree 1 file changed +36
-0
lines changed
1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -331,6 +331,42 @@ class Invalid:
331
331
cbook ._define_aliases ({'prop' : ['alias1' , 'alias2' ]})(Invalid )
332
332
333
333
334
+ def test_define_aliases_subclass ():
335
+ @cbook ._define_aliases ({'prop' : ['alias' ]})
336
+ class Base :
337
+ def __init__ (self ):
338
+ self .call_count = {'Base:set_prop' : 0 }
339
+
340
+ def set_prop (self ):
341
+ self .call_count ['Base:set_prop' ] += 1
342
+
343
+ class Derived (Base ):
344
+ def __init__ (self ):
345
+ super ().__init__ ()
346
+ self .call_count ['Derived:set_prop' ] = 0
347
+
348
+ def set_prop (self ):
349
+ self .call_count ['Derived:set_prop' ] += 1
350
+
351
+ b = Base ()
352
+ b .set_prop ()
353
+ assert b .call_count ['Base:set_prop' ] == 1
354
+ b .set_alias ()
355
+ assert b .call_count ['Base:set_prop' ] == 2
356
+
357
+ d = Derived ()
358
+ d .set_prop ()
359
+ assert d .call_count ['Base:set_prop' ] == 0
360
+ assert d .call_count ['Derived:set_prop' ] == 1
361
+ d .set_alias ()
362
+ assert d .call_count ['Base:set_prop' ] == 0
363
+ assert d .call_count ['Derived:set_prop' ] == 2
364
+
365
+ Base .set_alias (d )
366
+ assert d .call_count ['Base:set_prop' ] == 1
367
+ assert d .call_count ['Derived:set_prop' ] == 2
368
+
369
+
334
370
fail_mapping = (
335
371
({'a' : 1 }, {'forbidden' : ('a' )}),
336
372
({'a' : 1 }, {'required' : ('b' )}),
You can’t perform that action at this time.
0 commit comments