From dd9d5b980c1e854479a706d715084f322d9eeb0f Mon Sep 17 00:00:00 2001 From: Thomas Fetzer <thomas.fetzer@iws.uni-stuttgart.de> Date: Fri, 20 Mar 2015 15:57:08 +0000 Subject: [PATCH] [fuzzycompare] changed fuzzycompare script, so that now that _maximum_ difference in _every_ field is printed reviewed by gruenich git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@14415 2fb0f335-1f38-0410-981e-8018bf24f1b0 --- bin/fuzzycomparevtu.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bin/fuzzycomparevtu.py b/bin/fuzzycomparevtu.py index a23865bb66..5375f7082b 100644 --- a/bin/fuzzycomparevtu.py +++ b/bin/fuzzycomparevtu.py @@ -24,7 +24,7 @@ def isFuzzyEqualNode(node1, node2, absolute, relative): return False if node1child.nodeType == node1child.TEXT_NODE and not isFuzzyEqualText(node1child.data, node2child.data, absolute, relative): print 'Data differs in parameter ', node2.attributes.items(), ' at node ', node2child.nodeType - return False + continue if node1child.nodeType == node1child.ELEMENT_NODE and not isFuzzyEqualNode(node1child, node2child, absolute, relative): return False return True @@ -37,13 +37,19 @@ def isFuzzyEqualText(text1, text2, absolute, relative): if (list1 == list2): return True # compare number by number + maximum1 = 0.0 + maximum2 = 0.0 for number1, number2 in zip(list1, list2): number1 = float(number1) number2 = float(number2) if (abs(number1 - number2) > absolute and (number2 == 0.0 or abs(abs(number1 / number2) - 1.0) > relative)): - print 'Difference is too large between', number1, ' and ', number2 - return False + if (abs(number1 - number2) > abs(maximum1 - maximum2)): + maximum1 = float(number1) + maximum2 = float(number2) + if (abs(maximum1 - maximum2) > 0.0): + print 'Difference is too large between', maximum1, ' and ', maximum2 + return False return True # main program -- GitLab