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

35 statements  

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

1import array 

2 

3from tatlin.lib.gl.scene import Scene 

4from tatlin.lib.gl.gcodemodel import GcodeModel 

5 

6from tatlin.lib.model.gcode.parser import Movement 

7from tests.guitestcase import GUITestCase 

8 

9 

10class GcodeModelTest(GUITestCase): 

11 def setUp(self): 

12 super().setUp() 

13 

14 self.model = GcodeModel() 

15 self.model.load_data( 

16 [ 

17 [ 

18 Movement(array.array("f", [0, 0.5, 0]), 0, 0, 0), 

19 Movement(array.array("f", [0.5, -0.5, 0]), 0, 0, 0), 

20 Movement( 

21 array.array("f", [-0.5, -0.5, 0]), 

22 0, 

23 0, 

24 Movement.FLAG_EXTRUDER_ON | Movement.FLAG_PERIMETER, 

25 ), 

26 ], 

27 [ 

28 Movement(array.array("f", [0, 0.5, 1.0]), 0, 0, 0), 

29 Movement(array.array("f", [0.5, -0.5, 1.0]), 0, 0, 0), 

30 Movement(array.array("f", [-0.5, -0.5, 1.0]), 0, 0, 0), 

31 ], 

32 ] 

33 ) 

34 

35 def test_display(self): 

36 scene = Scene(self.frame) 

37 scene.add_model(self.model) 

38 self.add_to_frame(scene) 

39 

40 def test_display_layers_reverse(self): 

41 """Force the layers to be drawn in reverse order, top to bottom by raising the model.""" 

42 scene = Scene(self.frame) 

43 scene.add_model(self.model) 

44 self.model.offset_z = 100 

45 self.add_to_frame(scene) 

46 

47 def test_display_2d(self): 

48 scene = Scene(self.frame) 

49 scene.add_model(self.model) 

50 scene.mode_2d = True 

51 self.add_to_frame(scene) 

52 

53 def test_display_ortho(self): 

54 scene = Scene(self.frame) 

55 scene.add_model(self.model) 

56 scene.mode_ortho = True 

57 self.add_to_frame(scene) 

58 

59 def test_display_ortho_reverse(self): 

60 scene = Scene(self.frame) 

61 scene.add_model(self.model) 

62 scene.mode_ortho = True 

63 scene.rotate_view(0, 90) # view from the bottom 

64 self.add_to_frame(scene)