13
13
14
14
class BridgeTest (unittest .TestCase ):
15
15
16
- def test_bridge_shall_draw_with_concrete_implementation (cls ):
16
+ def test_bridge_shall_draw_with_concrete_api_implementation (cls ):
17
17
ci1 = DrawingAPI1 ()
18
18
ci2 = DrawingAPI2 ()
19
19
with patch .object (ci1 , 'draw_circle' ) as mock_ci1_draw_circle ,\
@@ -25,15 +25,27 @@ def test_bridge_shall_draw_with_concrete_implementation(cls):
25
25
sh2 .draw ()
26
26
cls .assertEqual (mock_ci2_draw_circle .call_count , 1 )
27
27
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 )
36
49
37
50
if __name__ == "__main__" :
38
51
unittest .main ()
39
-
0 commit comments