37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
"""TDD coverage for the OCP-native transform slice."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import unittest
|
|
import simplecadapi as scad
|
|
|
|
|
|
class TestOcpTransformBuilders(unittest.TestCase):
|
|
def test_translate_shape_uses_ocp_wrapped_storage(self):
|
|
edge = scad.make_line_redge((0.0, 0.0, 0.0), (1.0, 0.0, 0.0))
|
|
moved = scad.translate_shape(edge, (1.0, 0.0, 0.0))
|
|
self.assertIsInstance(moved, scad.Edge)
|
|
self.assertTrue(hasattr(moved, "wrapped"))
|
|
self.assertFalse(hasattr(moved, "cq_edge"))
|
|
self.assertAlmostEqual(moved.get_length(), edge.get_length(), places=5)
|
|
|
|
def test_rotate_shape_uses_ocp_wrapped_storage(self):
|
|
edge = scad.make_line_redge((0.0, 0.0, 0.0), (1.0, 0.0, 0.0))
|
|
rotated = scad.rotate_shape(edge, 90.0, (0.0, 0.0, 1.0))
|
|
self.assertIsInstance(rotated, scad.Edge)
|
|
self.assertTrue(hasattr(rotated, "wrapped"))
|
|
self.assertFalse(hasattr(rotated, "cq_edge"))
|
|
self.assertAlmostEqual(rotated.get_length(), edge.get_length(), places=5)
|
|
|
|
def test_mirror_shape_uses_ocp_wrapped_storage(self):
|
|
solid = scad.make_box_rsolid(1.0, 2.0, 3.0)
|
|
mirrored = scad.mirror_shape(solid, (0.0, 0.0, 0.0), (1.0, 0.0, 0.0))
|
|
self.assertIsInstance(mirrored, scad.Solid)
|
|
self.assertTrue(hasattr(mirrored, "wrapped"))
|
|
self.assertFalse(hasattr(mirrored, "cq_solid"))
|
|
self.assertAlmostEqual(mirrored.get_volume(), solid.get_volume(), places=5)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|