diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 7f7ba1d63..a94257bc0 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -124,11 +124,21 @@ def test_write_metadata(): for tag, value in reloaded.items(): if tag not in ignored: - assert_equal(original[tag], value, "%s didn't roundtrip" % tag) + if tag.endswith('Resolution'): + val = original[tag] + assert_almost_equal(val[0][0]/val[0][1], value[0][0]/value[0][1], + msg="%s didn't roundtrip" % tag) + else: + assert_equal(original[tag], value, "%s didn't roundtrip" % tag) for tag, value in original.items(): if tag not in ignored: - assert_equal(value, reloaded[tag], "%s didn't roundtrip" % tag) + if tag.endswith('Resolution'): + val = reloaded[tag] + assert_almost_equal(val[0][0]/val[0][1], value[0][0]/value[0][1], + msg="%s didn't roundtrip" % tag) + else: + assert_equal(value, reloaded[tag], "%s didn't roundtrip" % tag) def test_g3_compression(): diff --git a/Tests/tester.py b/Tests/tester.py index 5f322cc20..7252b5b47 100644 --- a/Tests/tester.py +++ b/Tests/tester.py @@ -67,6 +67,12 @@ def assert_equal(a, b, msg=None): else: failure(msg or "got %r, expected %r" % (a, b)) +def assert_almost_equal(a, b, msg=None, eps=1e-6): + if abs(a-b) < eps: + success() + else: + failure(msg or "got %r, expected %r" % (a, b)) + def assert_deep_equal(a, b, msg=None): try: if len(a) == len(b):