mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-11 02:02:22 +00:00
bimtester: util, improve generic assert method
This commit is contained in:
@@ -86,7 +86,7 @@ def assert_pset(element, pset_name, prop_name=None, value=None):
|
||||
)
|
||||
|
||||
|
||||
# TODO: what is this?
|
||||
# TODO: what is this? ... a generic assert method
|
||||
def assert_elements(
|
||||
ifc_class,
|
||||
elemcount,
|
||||
@@ -95,32 +95,59 @@ def assert_elements(
|
||||
message_all_falseelems,
|
||||
message_some_falseelems,
|
||||
message_no_elems,
|
||||
parameter=None,
|
||||
parameter=None
|
||||
):
|
||||
if elemcount > 0 and falsecount == 0:
|
||||
return # Test OK
|
||||
elif elemcount == 0:
|
||||
assert False, message_no_elems.format(ifc_class=ifc_class)
|
||||
out_falseelems = "\n"
|
||||
for e in falseelems:
|
||||
out_falseelems += e + "\n"
|
||||
# old, elemcount == 0 creates a failed test, but should not
|
||||
# no elements of a ifc_class should not be a fail
|
||||
# if a ifc_class has to be exist, it should be in a own test
|
||||
# if elemcount > 0 and falsecount == 0:
|
||||
# return # Test OK
|
||||
# elif elemcount == 0:
|
||||
# assert False, (
|
||||
# message_no_elems.format(
|
||||
# ifc_class=ifc_class
|
||||
# )
|
||||
# )
|
||||
if falsecount == 0:
|
||||
return # test ok for elemcount == 0 !!!
|
||||
elif falsecount == elemcount:
|
||||
if parameter is None:
|
||||
assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class)
|
||||
else:
|
||||
assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class, parameter=parameter)
|
||||
elif falsecount > 0 and falsecount < elemcount:
|
||||
if parameter is None:
|
||||
assert False, message_some_falseelems.format(
|
||||
falsecount=falsecount,
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class,
|
||||
falseelems=falseelems,
|
||||
assert False, (
|
||||
message_all_falseelems.format(
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class
|
||||
)
|
||||
)
|
||||
else:
|
||||
assert False, message_some_falseelems.format(
|
||||
falsecount=falsecount,
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class,
|
||||
falseelems=falseelems,
|
||||
parameter=parameter,
|
||||
assert False, (
|
||||
message_all_falseelems.format(
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class,
|
||||
parameter=parameter
|
||||
)
|
||||
)
|
||||
elif falsecount > 0 and falsecount < elemcount:
|
||||
if parameter is None:
|
||||
assert False, (
|
||||
message_some_falseelems.format(
|
||||
falsecount=falsecount,
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class,
|
||||
falseelems=out_falseelems,
|
||||
)
|
||||
)
|
||||
else:
|
||||
assert False, (
|
||||
message_some_falseelems.format(
|
||||
falsecount=falsecount,
|
||||
elemcount=elemcount,
|
||||
ifc_class=ifc_class,
|
||||
falseelems=out_falseelems,
|
||||
parameter=parameter
|
||||
)
|
||||
)
|
||||
else:
|
||||
assert False, _("Error in falsecount, something went wrong.")
|
||||
|
||||
Reference in New Issue
Block a user