bimtester: util, improve generic assert method

This commit is contained in:
Bernd Hahnebach
2021-12-07 14:58:18 +01:00
parent b8dd0450d1
commit 82d136b9b3
+49 -22
View File
@@ -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.")