get_linked_element_geom_slice - add tests

This commit is contained in:
Andrej730
2026-03-06 19:04:54 +05:00
parent 3a59425a64
commit f9486be172
+48
View File
@@ -21,6 +21,7 @@ import json
import tempfile import tempfile
from pathlib import Path from pathlib import Path
from tempfile import NamedTemporaryFile from tempfile import NamedTemporaryFile
from typing import cast
import bpy import bpy
import ifcopenshell import ifcopenshell
@@ -399,3 +400,50 @@ class TestLoadingIfcSqlite(NewFile):
for element_name in elements_without_meshes: for element_name in elements_without_meshes:
assert element_name in bpy.data.objects assert element_name in bpy.data.objects
assert not bpy.data.objects[element_name].data assert not bpy.data.objects[element_name].data
class TestGettingLinkedElementGeomSlice:
def __init__(self):
self.test_get_first_element()
self.test_get_middle_element()
self.test_skip_hidden_first_element()
self.test_skip_hidden_middle_element()
self.test_handle_hidden_non_first_element()
TEST_OBJ = {
"guids": ["aaa", "bbb", "ccc"],
"guid_ids": [5, 10, 15],
}
def test_get_first_element(self):
obj = TestGettingLinkedElementGeomSlice.TEST_OBJ
obj = cast(bpy.types.Object, obj)
slice_ = subject.Link.get_linked_element_geom_slice(obj, "aaa")
assert range(15)[slice_] == range(5)
def test_get_middle_element(self):
obj = TestGettingLinkedElementGeomSlice.TEST_OBJ
obj = cast(bpy.types.Object, obj)
slice_ = subject.Link.get_linked_element_geom_slice(obj, "bbb")
assert range(15)[slice_] == range(5, 10)
def test_skip_hidden_first_element(self):
obj = TestGettingLinkedElementGeomSlice.TEST_OBJ
obj = obj | {"hidden_indices": [0]}
obj = cast(bpy.types.Object, obj)
slice_ = subject.Link.get_linked_element_geom_slice(obj, "bbb")
assert range(15)[slice_] == range(5)
def test_skip_hidden_middle_element(self):
obj = TestGettingLinkedElementGeomSlice.TEST_OBJ
obj = obj | {"hidden_indices": [1]}
obj = cast(bpy.types.Object, obj)
slice_ = subject.Link.get_linked_element_geom_slice(obj, "ccc")
assert range(15)[slice_] == range(5, 10)
def test_handle_hidden_non_first_element(self):
obj = TestGettingLinkedElementGeomSlice.TEST_OBJ
obj = obj | {"hidden_indices": [1]}
obj = cast(bpy.types.Object, obj)
slice_ = subject.Link.get_linked_element_geom_slice(obj, "aaa")
assert range(15)[slice_] == range(5)