diff options
author | Antony MECHIN <antony.mechin@docker.com> | 2018-09-27 13:58:38 +0200 |
---|---|---|
committer | Antony MECHIN <antony.mechin@docker.com> | 2018-09-27 14:17:32 +0200 |
commit | 5b9b519e8a7c6441dcd980405c3b105944ff5a1a (patch) | |
tree | 807b8f94504520e1e4b53d099f551101f389ba1b | |
parent | bf46a6cc600828c3aab55ed51a267bfb0fc0c35f (diff) |
utils: Fix typo in unique_everseen.
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
-rw-r--r-- | compose/utils.py | 5 | ||||
-rw-r--r-- | tests/unit/utils_test.py | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/compose/utils.py b/compose/utils.py index b9b6ab9b..72e6ced1 100644 --- a/compose/utils.py +++ b/compose/utils.py @@ -176,6 +176,7 @@ def unique_everseen(iterable, key=lambda x: x): "List unique elements, preserving order. Remember all elements ever seen." seen = set() for element in iterable: - if key(element) not in seen: - seen.add(element) + unique_key = key(element) + if unique_key not in seen: + seen.add(unique_key) yield element diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py index 186b6b14..21b88d96 100644 --- a/tests/unit/utils_test.py +++ b/tests/unit/utils_test.py @@ -72,5 +72,7 @@ class TestParseBytes(object): class TestMoreItertools(object): def test_unique_everseen(self): - assert list(utils.unique_everseen([2, 1, 2, 1])) == [2, 1] - assert list(utils.unique_everseen([2, 1, 2, 1], hash)) == [2, 1] + unique = utils.unique_everseen + assert list(unique([2, 1, 2, 1])) == [2, 1] + assert list(unique([2, 1, 2, 1], hash)) == [2, 1] + assert list(unique([2, 1, 2, 1], lambda x: 'key_%s' % x)) == [2, 1] |