Skip to content
Snippets Groups Projects

utils.grouper: Improve implementation

1 unresolved thread
Compare and
2 files
+ 40
9
Compare changes
  • Side-by-side
  • Inline
Files
2
# Copyright (C) 2015-2017 The Software Heritage developers
# Copyright (C) 2015-2018 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
@@ -29,6 +29,30 @@ class UtilsLib(unittest.TestCase):
self.assertEqual(out, [[9, 8, 7, 6], [5, 4, 3, 2], [1]])
def test_grouper_with_stop_value(self):
# given
actual_data = utils.grouper(((i, i+1) for i in range(0, 9)), 2)
out = []
for d in actual_data:
out.append(list(d)) # force generator resolution for checks
self.assertEqual(out, [
[(0, 1), (1, 2)],
[(2, 3), (3, 4)],
[(4, 5), (5, 6)],
[(6, 7), (7, 8)],
[(8, 9)]])
Please register or sign in to reply
# given
actual_data = utils.grouper((i for i in range(9, 0, -1)), 4)
out = []
for d in actual_data:
out.append(list(d)) # force generator resolution for checks
self.assertEqual(out, [[9, 8, 7, 6], [5, 4, 3, 2], [1]])
def test_backslashescape_errors(self):
raw_data_err = b'abcd\x80'
with self.assertRaises(UnicodeDecodeError):
Loading