Coverage for tests/unit/lib/gl/test_stlmodel.py: 100%
38 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
1import numpy
3from tatlin.lib.gl.model import Model
4from tatlin.lib.gl.scene import Scene
5from tatlin.lib.gl.stlmodel import StlModel
7from tests.guitestcase import GUITestCase
10class StlModelTest(GUITestCase):
11 def setUp(self):
12 super().setUp()
14 self.model = StlModel()
15 self.model.load_data(
16 [
17 [[0, 0.5, 0], [0.5, -0.5, 0], [-0.5, -0.5, 0]],
18 [[0, 0, 1], [0, 0, 1], [0, 0, 1]],
19 ]
20 )
22 def test_normal_data_empty(self):
23 self.assertFalse(self.model.normal_data_empty())
25 def test_calculate_normals(self):
26 normals = self.model.calculate_normals()
27 numpy.testing.assert_array_almost_equal(
28 normals,
29 numpy.array([[0, 0, -1], [0, 0, -1], [0, 0, -1]], dtype=numpy.float32),
30 )
32 def test_init(self):
33 self.model.init()
34 self.assertTrue(self.model.initialized)
36 def test_display(self):
37 scene = Scene(self.frame)
38 scene.add_model(self.model)
39 self.add_to_frame(scene)
41 def test_scale(self):
42 self.assertFalse(self.model.modified)
43 self.model.scale(1.1)
44 self.assertTrue(self.model.modified)
46 def test_translate(self):
47 self.assertFalse(self.model.modified)
48 self.model.translate(1, 2, 3)
49 self.assertTrue(self.model.modified)
51 def test_rotate_rel(self):
52 self.assertFalse(self.model.modified)
53 self.model.rotate_rel(90, Model.AXIS_X)
54 self.assertTrue(self.model.modified)
56 def test_rotate_abs(self):
57 self.assertFalse(self.model.modified)
58 self.model.rotate_abs(90, Model.AXIS_X)
59 self.assertTrue(self.model.modified)