From 82d136b9b3179f84abb463c960c686a5c1e0ee6a Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Tue, 7 Dec 2021 14:58:18 +0100 Subject: [PATCH] bimtester: util, improve generic assert method --- src/ifcbimtester/bimtester/util.py | 71 +++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/src/ifcbimtester/bimtester/util.py b/src/ifcbimtester/bimtester/util.py index da09f133bb..248b344413 100644 --- a/src/ifcbimtester/bimtester/util.py +++ b/src/ifcbimtester/bimtester/util.py @@ -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.")