|
|
|
|
@ -155,7 +155,7 @@ class TemplateSemanticsRotationTest(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TerminalSlotResolutionPolicyTest(unittest.TestCase):
|
|
|
|
|
def test_resolve_terminal_slots_returns_empty_when_model_has_no_template_slots(self):
|
|
|
|
|
def test_resolve_terminal_slots_returns_bbox_fallback_when_model_has_no_template_slots(self):
|
|
|
|
|
_install_fake_freecad()
|
|
|
|
|
template_semantics, _ = _reload_exchange_modules()
|
|
|
|
|
|
|
|
|
|
@ -163,9 +163,11 @@ class TerminalSlotResolutionPolicyTest(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
slots = template_semantics.resolve_terminal_slots(container, "", 2)
|
|
|
|
|
|
|
|
|
|
self.assertEqual([], slots)
|
|
|
|
|
self.assertEqual(2, len(slots))
|
|
|
|
|
self.assertEqual(["fallback", "fallback"], [slot.get("source") for slot in slots])
|
|
|
|
|
self.assertEqual(["SLOT_1", "SLOT_2"], [slot.get("name") for slot in slots])
|
|
|
|
|
|
|
|
|
|
def test_resolve_terminal_slots_does_not_pad_template_hints_with_bbox_fallback(self):
|
|
|
|
|
def test_resolve_terminal_slots_pads_template_hints_with_bbox_fallback(self):
|
|
|
|
|
_install_fake_freecad()
|
|
|
|
|
template_semantics, _ = _reload_exchange_modules()
|
|
|
|
|
|
|
|
|
|
@ -184,9 +186,10 @@ class TerminalSlotResolutionPolicyTest(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
slots = template_semantics.resolve_terminal_slots(container, "", 2)
|
|
|
|
|
|
|
|
|
|
self.assertEqual(1, len(slots))
|
|
|
|
|
self.assertEqual(2, len(slots))
|
|
|
|
|
self.assertEqual("P1", slots[0]["name"])
|
|
|
|
|
self.assertNotEqual("fallback", slots[0].get("source"))
|
|
|
|
|
self.assertEqual("fallback", slots[1].get("source"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TerminalPlacementTest(unittest.TestCase):
|
|
|
|
|
|