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
« 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
4from tatlin.lib.ui.stl import StlPanel
5from tests.guitestcase import GUITestCase
8class StlPanelTest(GUITestCase):
9 def setUp(self):
10 super().setUp()
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 }
24 self.panel = StlPanel(self.frame, self.mock_scene)
25 self.panel.connect_handlers()
27 def test_connect_handlers(self):
28 # calling it more than once should have no effect
29 self.panel.connect_handlers()
31 def test_scaling_factor_changed(self):
32 self.panel.scaling_factor_changed(2.0)
33 self.panel.scaling_factor_changed("asdf")
35 def test_dimension_changed(self):
36 self.panel.dimension_changed("width", 200)
37 self.panel.dimension_changed("width", "asdf")
39 def test_rotation_changed(self):
40 self.panel.rotation_changed("x", 90)
41 self.panel.rotation_changed("x", "asdf")
43 def test_on_entry_x_focus_out(self):
44 self.panel.on_entry_x_focus_out(Mock())
46 def test_on_entry_y_focus_out(self):
47 self.panel.on_entry_y_focus_out(Mock())
49 def test_on_entry_z_focus_out(self):
50 self.panel.on_entry_z_focus_out(Mock())
52 def test_on_entry_factor_focus_out(self):
53 self.panel.on_entry_factor_focus_out(Mock())
55 def test_on_entry_rotate_x_focus_out(self):
56 self.panel.on_entry_rotate_x_focus_out(Mock())
58 def test_on_entry_rotate_y_focus_out(self):
59 self.panel.on_entry_rotate_y_focus_out(Mock())
61 def test_on_entry_rotate_z_focus_out(self):
62 self.panel.on_entry_rotate_z_focus_out(Mock())
64 def test_on_x_90_clicked(self):
65 self.panel.on_x_90_clicked(Mock())
67 def test_on_y_90_clicked(self):
68 self.panel.on_y_90_clicked(Mock())
70 def test_on_z_90_clicked(self):
71 self.panel.on_z_90_clicked(Mock())
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)
78 def test_set_initial_values(self):
79 self.panel.set_initial_values(100, 100, 100, 100, 100)
81 def test_on_center_clicked(self):
82 self.panel.on_center_clicked(Mock())
84 def test_on_reset_clicked(self):
85 self.panel.on_reset_clicked(Mock())
87 def test_on_set_ortho(self):
88 self.panel.on_set_ortho(Mock())