From d2aab877bb5cd29eda985fd1e9580d60a155b81b Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Thu, 7 Apr 2016 10:00:49 +0100 Subject: [PATCH] [classifyTools] fix CI doctest failures on python 3 set objects have different __repr__ on python 2 and 3 Python 3: >>> {1, 2, 3} {1, 2, 3} Python 2 >>> {1, 2, 3} set([1, 2, 3]) (one among the several reasons I don't particularly like doctest...) --- Lib/fontTools/misc/classifyTools.py | 60 ++++++++++++++++------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/Lib/fontTools/misc/classifyTools.py b/Lib/fontTools/misc/classifyTools.py index ab3b8681e..e1782fab3 100644 --- a/Lib/fontTools/misc/classifyTools.py +++ b/Lib/fontTools/misc/classifyTools.py @@ -126,32 +126,40 @@ def classify(list_of_sets, sorted=True): sets are returned in the order that they were identified, which is generally not significant. - >>> classify([]) - ([], {}) - >>> classify([[]]) - ([], {}) - >>> classify([[], []]) - ([], {}) - >>> classify([[1]]) - ([set([1])], {1: set([1])}) - >>> classify([[1,2]]) - ([set([1, 2])], {1: set([1, 2]), 2: set([1, 2])}) - >>> classify([[1],[2]]) - ([set([1]), set([2])], {1: set([1]), 2: set([2])}) - >>> classify([[1,2],[2]]) - ([set([1]), set([2])], {1: set([1]), 2: set([2])}) - >>> classify([[1,2],[2,4]]) - ([set([1]), set([4]), set([2])], {1: set([1]), 2: set([2]), 4: set([4])}) - >>> classify([[1,2],[2,4,5]]) - ([set([4, 5]), set([1]), set([2])], {1: set([1]), 2: set([2]), 4: set([4, 5]), 5: set([4, 5])}) - >>> classify([[1,2],[2,4,5]], sorted=False) - ([set([1]), set([4, 5]), set([2])], {1: set([1]), 2: set([2]), 4: set([4, 5]), 5: set([4, 5])}) - >>> classify([[1,2,9],[2,4,5]], sorted=False) - ([set([1, 9]), set([4, 5]), set([2])], {1: set([1, 9]), 2: set([2]), 4: set([4, 5]), 5: set([4, 5]), 9: set([1, 9])}) - >>> classify([[1,2,9,15],[2,4,5]], sorted=False) - ([set([1, 15, 9]), set([4, 5]), set([2])], {1: set([1, 15, 9]), 2: set([2]), 4: set([4, 5]), 5: set([4, 5]), 9: set([1, 15, 9]), 15: set([1, 15, 9])}) - >>> classify([[1,2,9,15],[2,4,5],[15,5]], sorted=False) - ([set([1, 9]), set([4]), set([2]), set([5]), set([15])], {1: set([1, 9]), 2: set([2]), 4: set([4]), 5: set([5]), 9: set([1, 9]), 15: set([15])}) + >>> classify([]) == ([], {}) + True + >>> classify([[]]) == ([], {}) + True + >>> classify([[], []]) == ([], {}) + True + >>> classify([[1]]) == ([{1}], {1: {1}}) + True + >>> classify([[1,2]]) == ([{1, 2}], {1: {1, 2}, 2: {1, 2}}) + True + >>> classify([[1],[2]]) == ([{1}, {2}], {1: {1}, 2: {2}}) + True + >>> classify([[1,2],[2]]) == ([{1}, {2}], {1: {1}, 2: {2}}) + True + >>> classify([[1,2],[2,4]]) == ([{1}, {4}, {2}], {1: {1}, 2: {2}, 4: {4}}) + True + >>> classify([[1,2],[2,4,5]]) == ( + ... [{4, 5}, {1}, {2}], {1: {1}, 2: {2}, 4: {4, 5}, 5: {4, 5}}) + True + >>> classify([[1,2],[2,4,5]], sorted=False) == ( + ... [{4, 5}, {1}, {2}], {1: {1}, 2: {2}, 4: {4, 5}, 5: {4, 5}}) + True + >>> classify([[1,2,9],[2,4,5]], sorted=False) == ( + ... [{1, 9}, {4, 5}, {2}], {1: {1, 9}, 2: {2}, 4: {4, 5}, 5: {4, 5}, + ... 9: {1, 9}}) + True + >>> classify([[1,2,9,15],[2,4,5]], sorted=False) == ( + ... [{1, 9, 15}, {4, 5}, {2}], {1: {1, 9, 15}, 2: {2}, 4: {4, 5}, + ... 5: {4, 5}, 9: {1, 9, 15}, 15: {1, 9, 15}}) + True + >>> classify([[1,2,9,15],[2,4,5],[15,5]], sorted=False) == ( + ... [{1, 9}, {4}, {2}, {5}, {15}], {1: {1, 9}, 2: {2}, 4: {4}, 5: {5}, + ... 9: {1, 9}, 15: {15}}) + True """ classifier = Classifier(sorted=True) classifier.update(list_of_sets)