MCPcopy Create free account
hub / github.com/IfcOpenShell/IfcOpenShell / assert_elements

Function assert_elements

src/ifcbimtester/bimtester/util.py:110–158  ·  view source on GitHub ↗
(
    ifc_class,
    elemcount,
    falsecount,
    falseelems,
    message_all_falseelems,
    message_some_falseelems,
    message_no_elems="",
    parameter=None,
)

Source from the content-addressed store, hash-verified

108
109# TODO: what is this? ... a generic assert method
110def assert_elements(
111 ifc_class,
112 elemcount,
113 falsecount,
114 falseelems,
115 message_all_falseelems,
116 message_some_falseelems,
117 message_no_elems="",
118 parameter=None,
119):
120 out_falseelems = "\n"
121 for e in falseelems:
122 out_falseelems += e + "\n"
123 # old, elemcount == 0 creates a failed test, but should not
124 # no elements of a ifc_class should not be a fail
125 # if a ifc_class has to be exist, it should be in a own test
126 # if elemcount > 0 and falsecount == 0:
127 # return # Test OK
128 # elif elemcount == 0:
129 # assert False, (
130 # message_no_elems.format(
131 # ifc_class=ifc_class
132 # )
133 # )
134 if falsecount == 0:
135 return # test ok for elemcount == 0 and elemcount > 0
136 elif falsecount == elemcount:
137 if parameter is None:
138 assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class)
139 else:
140 assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class, parameter=parameter)
141 elif falsecount > 0 and falsecount < elemcount:
142 if parameter is None:
143 assert False, message_some_falseelems.format(
144 falsecount=falsecount,
145 elemcount=elemcount,
146 ifc_class=ifc_class,
147 falseelems=out_falseelems,
148 )
149 else:
150 assert False, message_some_falseelems.format(
151 falsecount=falsecount,
152 elemcount=elemcount,
153 ifc_class=ifc_class,
154 falseelems=out_falseelems,
155 parameter=parameter,
156 )
157 else:
158 assert False, _("Error in falsecount calculation, something went wrong.")

Callers

nothing calls this directly

Calls 2

_Function · 0.90
formatMethod · 0.80

Tested by

no test coverage detected