diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-07-10 12:19:44 -0700 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2012-07-10 12:19:44 -0700 |
commit | efd66a93dd5234ac6d63f99c026029246a7b8bf3 (patch) | |
tree | 1cad45506f2a160f6b198144d9b9b481240f1670 | |
parent | c35e781466eb6c630e1321489927a4390401bb9c (diff) | |
parent | 65db1ac3c0e90bbe541caa1902314aa097f1997a (diff) | |
download | factory-boy-efd66a93dd5234ac6d63f99c026029246a7b8bf3.tar factory-boy-efd66a93dd5234ac6d63f99c026029246a7b8bf3.tar.gz |
Merge pull request #21 from msabramo/py3_try3
utils.multi_extract_dict: use key= argument to sorted instead of cmp=.
-rw-r--r-- | factory/utils.py | 12 | ||||
-rw-r--r-- | tests/test_utils.py | 18 |
2 files changed, 1 insertions, 29 deletions
diff --git a/factory/utils.py b/factory/utils.py index 2fcd7ff..ce72a9a 100644 --- a/factory/utils.py +++ b/factory/utils.py @@ -57,16 +57,6 @@ def extract_dict(prefix, kwargs, pop=True, exclude=()): return extracted -def declength_compare(a, b): - """Compare objects, choosing longest first.""" - if len(a) > len(b): - return -1 - elif len(a) < len(b): - return 1 - else: - return cmp(a, b) - - def multi_extract_dict(prefixes, kwargs, pop=True, exclude=()): """Extracts all values from a given list of prefixes. @@ -78,7 +68,7 @@ def multi_extract_dict(prefixes, kwargs, pop=True, exclude=()): """ results = {} exclude = list(exclude) - for prefix in sorted(prefixes, cmp=declength_compare): + for prefix in sorted(prefixes, key=lambda x: -len(x)): extracted = extract_dict(prefix, kwargs, pop=pop, exclude=exclude) results[prefix] = extracted exclude.extend( diff --git a/tests/test_utils.py b/tests/test_utils.py index 6fd6ee2..f30c0e3 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -25,24 +25,6 @@ from factory import utils from .compat import unittest -class DecLengthCompareTestCase(unittest.TestCase): - def test_reciprocity(self): - self.assertEqual(1, utils.declength_compare('a', 'bb')) - self.assertEqual(-1, utils.declength_compare('aa', 'b')) - - def test_not_lexical(self): - self.assertEqual(1, utils.declength_compare('abc', 'aaaa')) - self.assertEqual(-1, utils.declength_compare('aaaa', 'abc')) - - def test_same_length(self): - self.assertEqual(-1, utils.declength_compare('abc', 'abd')) - self.assertEqual(1, utils.declength_compare('abe', 'abd')) - - def test_equality(self): - self.assertEqual(0, utils.declength_compare('abc', 'abc')) - self.assertEqual(0, utils.declength_compare([1, 2, 3], [1, 2, 3])) - - class ExtractDictTestCase(unittest.TestCase): def test_empty_dict(self): self.assertEqual({}, utils.extract_dict('foo', {})) |