def test_bridge_shall_scale_with_own_implementation(cls):
     ci = DrawingAPI1()
     sh = CircleShape(1, 2, 3, ci)
     sh.scale(2)
     cls.assertEqual(sh._radius, 6)
     with patch.object(sh, 'scale') as mock_sh_scale_circle:
         sh.scale(2)
         cls.assertEqual(mock_sh_scale_circle.call_count, 1)
Example #2
0
 def test_bridge_shall_draw_with_concrete_implementation(cls):
     ci1 = DrawingAPI1()
     ci2 = DrawingAPI2()
     with patch.object(ci1, 'draw_circle') as mock_ci1_draw_circle,\
          patch.object(ci2, 'draw_circle') as mock_ci2_draw_circle:
         sh1 = CircleShape(1, 2, 3, ci1)
         sh1.draw()
         cls.assertEqual(mock_ci1_draw_circle.call_count, 1)
         sh2 = CircleShape(1, 2, 3, ci2)
         sh2.draw()
         cls.assertEqual(mock_ci2_draw_circle.call_count, 1)
 def test_bridge_shall_scale_both_api_circles_with_own_implementation(cls):
     SCALE_FACTOR = 2
     CIRCLE_FACTOR = 3
     CIRCLE1_RADIUS = 3
     EXPECTED_CIRCLE1_RADIUS = 6
     CIRCLE2_RADIUS = CIRCLE1_RADIUS * CIRCLE1_RADIUS
     EXPECTED_CIRCLE2_RADIUS = CIRCLE2_RADIUS * SCALE_FACTOR
     ci1 = DrawingAPI1()
     ci2 = DrawingAPI2()
     sh1 = CircleShape(1, 2, CIRCLE1_RADIUS, ci1)
     sh2 = CircleShape(1, 2, CIRCLE2_RADIUS, ci2)
     sh1.scale(SCALE_FACTOR)
     sh2.scale(SCALE_FACTOR)
     cls.assertEqual(sh1._radius, EXPECTED_CIRCLE1_RADIUS)
     cls.assertEqual(sh2._radius, EXPECTED_CIRCLE2_RADIUS)
     with patch.object(sh1, 'scale') as mock_sh1_scale_circle,\
          patch.object(sh2, 'scale') as mock_sh2_scale_circle:
         sh1.scale(2)
         sh2.scale(2)
         cls.assertEqual(mock_sh1_scale_circle.call_count, 1)
         cls.assertEqual(mock_sh2_scale_circle.call_count, 1)
Example #4
0
 def test_bridge_shall_scale_with_own_implementation(cls):
     ci = DrawingAPI1()
     sh = CircleShape(1, 2, 3, ci)
     sh.scale(2)
     cls.assertEqual(sh._radius, 6)
     with patch.object(sh, 'scale') as mock_sh_scale_circle:
         sh.scale(2)
         cls.assertEqual(mock_sh_scale_circle.call_count, 1)
 def test_bridge_shall_draw_with_concrete_api_implementation(cls):
     ci1 = DrawingAPI1()
     ci2 = DrawingAPI2()
     with patch.object(ci1, 'draw_circle') as mock_ci1_draw_circle,\
          patch.object(ci2, 'draw_circle') as mock_ci2_draw_circle:
         sh1 = CircleShape(1, 2, 3, ci1)
         sh1.draw()
         cls.assertEqual(mock_ci1_draw_circle.call_count, 1)
         sh2 = CircleShape(1, 2, 3, ci2)
         sh2.draw()
         cls.assertEqual(mock_ci2_draw_circle.call_count, 1)
Example #6
0
 def test_bridge_shall_scale_both_api_circles_with_own_implementation(cls):
     SCALE_FACTOR = 2
     CIRCLE_FACTOR = 3
     CIRCLE1_RADIUS = 3
     EXPECTED_CIRCLE1_RADIUS = 6
     CIRCLE2_RADIUS = CIRCLE1_RADIUS * CIRCLE1_RADIUS
     EXPECTED_CIRCLE2_RADIUS = CIRCLE2_RADIUS * SCALE_FACTOR
     ci1 = DrawingAPI1()
     ci2 = DrawingAPI2()
     sh1 = CircleShape(1, 2, CIRCLE1_RADIUS, ci1)
     sh2 = CircleShape(1, 2, CIRCLE2_RADIUS, ci2)
     sh1.scale(SCALE_FACTOR)
     sh2.scale(SCALE_FACTOR)
     cls.assertEqual(sh1._radius, EXPECTED_CIRCLE1_RADIUS)
     cls.assertEqual(sh2._radius, EXPECTED_CIRCLE2_RADIUS)
     with patch.object(sh1, 'scale') as mock_sh1_scale_circle,\
          patch.object(sh2, 'scale') as mock_sh2_scale_circle:
         sh1.scale(2)
         sh2.scale(2)
         cls.assertEqual(mock_sh1_scale_circle.call_count, 1)
         cls.assertEqual(mock_sh2_scale_circle.call_count, 1)