Coverage for tests/unit/lib/gl/test_scene.py: 100%

75 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-03-20 05:56 +0000

1import wx 

2from unittest.mock import Mock 

3from tatlin.lib.gl.boundingbox import BoundingBox 

4from tatlin.lib.gl.scene import Scene 

5from tests.guitestcase import GUITestCase 

6 

7 

8class SceneTest(GUITestCase): 

9 def setUp(self): 

10 super().setUp() 

11 self.scene = Scene(self.frame) 

12 

13 def test_display(self): 

14 model = Mock() 

15 model.initialized = False 

16 

17 self.scene.add_model(model) 

18 self.scene.add_supporting_actor(Mock()) 

19 

20 self.add_to_frame(self.scene) 

21 

22 def test_display_ortho(self): 

23 model = Mock() 

24 model.initialized = False 

25 

26 self.scene.add_model(model) 

27 self.scene.mode_ortho = True 

28 

29 self.add_to_frame(self.scene) 

30 

31 def test_clear(self): 

32 self.scene.clear() 

33 

34 def test_button_press(self): 

35 self.scene.button_press(1, 1) 

36 

37 def test_button_motion(self): 

38 self.scene.button_motion(1, 1, 1, 0, 0) 

39 self.scene.button_motion(1, 1, 0, 1, 0) 

40 self.scene.button_motion(1, 1, 0, 0, 1) 

41 

42 def test_wheel_scroll(self): 

43 self.scene.wheel_scroll(1) 

44 self.scene.wheel_scroll(-1) 

45 

46 def test_reset_view(self): 

47 self.scene.reset_view() 

48 self.scene.reset_view(True) 

49 

50 def test_mode_2d(self): 

51 self.scene.mode_2d = True 

52 self.assertEqual(self.scene.mode_2d, True) 

53 self.scene.mode_2d = False 

54 self.assertEqual(self.scene.mode_2d, False) 

55 

56 def test_mode_ortho(self): 

57 self.scene.mode_ortho = True 

58 self.assertEqual(self.scene.mode_ortho, True) 

59 self.scene.mode_ortho = False 

60 self.assertEqual(self.scene.mode_ortho, False) 

61 

62 def test_rotate_view(self): 

63 self.scene.rotate_view(1, 1) 

64 

65 def test_view_model_center(self): 

66 self.scene.model = Mock() 

67 self.scene.model.bounding_box = BoundingBox((1, 1, 1), (2, 3, 4)) 

68 

69 self.scene.view_model_center() 

70 

71 def test_change_num_layers(self): 

72 self.scene.model = Mock() 

73 self.scene.change_num_layers(1) 

74 

75 def test_scale_model(self): 

76 self.scene.model = Mock() 

77 self.scene.scale_model(1) 

78 

79 def test_center_model(self): 

80 self.scene.model = Mock() 

81 self.scene.model.bounding_box = BoundingBox((1, 1, 1), (2, 3, 4)) 

82 self.scene.center_model() 

83 

84 def test_change_model_dimension(self): 

85 m = Mock() 

86 m.width = 1 

87 m.scaling_factor = 1 

88 self.scene.model = m 

89 

90 self.scene.change_model_dimension("width", 1) 

91 

92 def test_rotate_model(self): 

93 self.scene.model = Mock() 

94 self.scene.rotate_model(1, "x") 

95 

96 def test_show_arrows(self): 

97 self.scene.model = Mock() 

98 self.scene.show_arrows(True) 

99 

100 def test_model_modified(self): 

101 self.assertFalse(self.scene.model_modified)