Coverage for tests/unit/lib/ui/test_stl.py: 100%

58 statements  

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

1from unittest.mock import Mock 

2from tatlin.lib.gl.model import Model 

3 

4from tatlin.lib.ui.stl import StlPanel 

5from tests.guitestcase import GUITestCase 

6 

7 

8class StlPanelTest(GUITestCase): 

9 def setUp(self): 

10 super().setUp() 

11 

12 # self.mock_scene = typing.cast(Scene, Mock()) 

13 self.mock_scene = Mock() 

14 self.mock_scene.model.width = 100 

15 self.mock_scene.model.height = 100 

16 self.mock_scene.model.depth = 100 

17 self.mock_scene.model.scaling_factor = 1.0 

18 self.mock_scene.model.rotation_angle = { 

19 (0, 0, 1): 0, 

20 (0, 1, 0): 0, 

21 (1, 0, 0): 0, 

22 } 

23 

24 self.panel = StlPanel(self.frame, self.mock_scene) 

25 self.panel.connect_handlers() 

26 

27 def test_connect_handlers(self): 

28 # calling it more than once should have no effect 

29 self.panel.connect_handlers() 

30 

31 def test_scaling_factor_changed(self): 

32 self.panel.scaling_factor_changed(2.0) 

33 self.panel.scaling_factor_changed("asdf") 

34 

35 def test_dimension_changed(self): 

36 self.panel.dimension_changed("width", 200) 

37 self.panel.dimension_changed("width", "asdf") 

38 

39 def test_rotation_changed(self): 

40 self.panel.rotation_changed("x", 90) 

41 self.panel.rotation_changed("x", "asdf") 

42 

43 def test_on_entry_x_focus_out(self): 

44 self.panel.on_entry_x_focus_out(Mock()) 

45 

46 def test_on_entry_y_focus_out(self): 

47 self.panel.on_entry_y_focus_out(Mock()) 

48 

49 def test_on_entry_z_focus_out(self): 

50 self.panel.on_entry_z_focus_out(Mock()) 

51 

52 def test_on_entry_factor_focus_out(self): 

53 self.panel.on_entry_factor_focus_out(Mock()) 

54 

55 def test_on_entry_rotate_x_focus_out(self): 

56 self.panel.on_entry_rotate_x_focus_out(Mock()) 

57 

58 def test_on_entry_rotate_y_focus_out(self): 

59 self.panel.on_entry_rotate_y_focus_out(Mock()) 

60 

61 def test_on_entry_rotate_z_focus_out(self): 

62 self.panel.on_entry_rotate_z_focus_out(Mock()) 

63 

64 def test_on_x_90_clicked(self): 

65 self.panel.on_x_90_clicked(Mock()) 

66 

67 def test_on_y_90_clicked(self): 

68 self.panel.on_y_90_clicked(Mock()) 

69 

70 def test_on_z_90_clicked(self): 

71 self.panel.on_z_90_clicked(Mock()) 

72 

73 def test_rotate_relative(self): 

74 self.panel.rotate_relative(Model.AXIS_X, 90) 

75 self.panel.rotate_relative(Model.AXIS_Y, 90) 

76 self.panel.rotate_relative(Model.AXIS_Z, 90) 

77 

78 def test_set_initial_values(self): 

79 self.panel.set_initial_values(100, 100, 100, 100, 100) 

80 

81 def test_on_center_clicked(self): 

82 self.panel.on_center_clicked(Mock()) 

83 

84 def test_on_reset_clicked(self): 

85 self.panel.on_reset_clicked(Mock()) 

86 

87 def test_on_set_ortho(self): 

88 self.panel.on_set_ortho(Mock())