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( def assert_elements(
ifc_class, ifc_class,
elemcount, elemcount,
@@ -95,32 +95,59 @@ def assert_elements(
message_all_falseelems, message_all_falseelems,
message_some_falseelems, message_some_falseelems,
message_no_elems, message_no_elems,
parameter=None, parameter=None
): ):
if elemcount > 0 and falsecount == 0: out_falseelems = "\n"
return # Test OK for e in falseelems:
elif elemcount == 0: out_falseelems += e + "\n"
assert False, message_no_elems.format(ifc_class=ifc_class) # 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: elif falsecount == elemcount:
if parameter is None: if parameter is None:
assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class) assert False, (
else: message_all_falseelems.format(
assert False, message_all_falseelems.format(elemcount=elemcount, ifc_class=ifc_class, parameter=parameter) elemcount=elemcount,
elif falsecount > 0 and falsecount < elemcount: ifc_class=ifc_class
if parameter is None: )
assert False, message_some_falseelems.format(
falsecount=falsecount,
elemcount=elemcount,
ifc_class=ifc_class,
falseelems=falseelems,
) )
else: else:
assert False, message_some_falseelems.format( assert False, (
falsecount=falsecount, message_all_falseelems.format(
elemcount=elemcount, elemcount=elemcount,
ifc_class=ifc_class, ifc_class=ifc_class,
falseelems=falseelems, parameter=parameter
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: else:
assert False, _("Error in falsecount, something went wrong.") assert False, _("Error in falsecount, something went wrong.")