1313
1414class BridgeTest (unittest .TestCase ):
1515
16- def test_bridge_shall_draw_with_concrete_implementation (cls ):
16+ def test_bridge_shall_draw_with_concrete_api_implementation (cls ):
1717ci1 = DrawingAPI1 ()
1818ci2 = DrawingAPI2 ()
1919with patch .object (ci1 , 'draw_circle' ) as mock_ci1_draw_circle ,\
@@ -25,15 +25,27 @@ def test_bridge_shall_draw_with_concrete_implementation(cls):
2525sh2 .draw ()
2626cls .assertEqual (mock_ci2_draw_circle .call_count , 1 )
2727
28- def test_bridge_shall_scale_with_own_implementation (cls ):
29- ci = DrawingAPI1 ()
30- sh = CircleShape (1 , 2 , 3 , ci )
31- sh .scale (2 )
32- cls .assertEqual (sh ._radius , 6 )
33- with patch .object (sh , 'scale' ) as mock_sh_scale_circle :
34- sh .scale (2 )
35- cls .assertEqual (mock_sh_scale_circle .call_count , 1 )
28+ def test_bridge_shall_scale_both_api_circles_with_own_implementation (cls ):
29+ SCALE_FACTOR = 2
30+ CIRCLE_FACTOR = 3
31+ CIRCLE1_RADIUS = 3
32+ EXPECTED_CIRCLE1_RADIUS = 6
33+ CIRCLE2_RADIUS = CIRCLE1_RADIUS * CIRCLE1_RADIUS
34+ EXPECTED_CIRCLE2_RADIUS = CIRCLE2_RADIUS * SCALE_FACTOR
35+ ci1 = DrawingAPI1 ()
36+ ci2 = DrawingAPI2 ()
37+ sh1 = CircleShape (1 , 2 , CIRCLE1_RADIUS , ci1 )
38+ sh2 = CircleShape (1 , 2 , CIRCLE2_RADIUS , ci2 )
39+ sh1 .scale (SCALE_FACTOR )
40+ sh2 .scale (SCALE_FACTOR )
41+ cls .assertEqual (sh1 ._radius , EXPECTED_CIRCLE1_RADIUS )
42+ cls .assertEqual (sh2 ._radius , EXPECTED_CIRCLE2_RADIUS )
43+ with patch .object (sh1 , 'scale' ) as mock_sh1_scale_circle ,\
44+ patch .object (sh2 , 'scale' ) as mock_sh2_scale_circle :
45+ sh1 .scale (2 )
46+ sh2 .scale (2 )
47+ cls .assertEqual (mock_sh1_scale_circle .call_count , 1 )
48+ cls .assertEqual (mock_sh2_scale_circle .call_count , 1 )
3649
3750if __name__ == "__main__" :
3851unittest .main ()
39-
0 commit comments