1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
"""
Test functions in gn3.data_helpers
"""
from unittest import TestCase
from gn3.data_helpers import partition_all
class TestDataHelpers(TestCase):
"""
Test functions in gn3.data_helpers
"""
def test_partition_all(self):
"""
Test that `gn3.data_helpers.partition_all` partitions sequences as expected.
Given:
- `num`: The number of items per partition
- `items`: A sequence of items
When:
- The arguments above are passed to the `gn3.data_helpers.partition_all`
Then:
- Return a new sequence with partitions, each of which has `num`
items in the same order as those in `items`, save for the last
partition which might have fewer items than `num`.
"""
for count, items, expected in (
(1, [0, 1, 2, 3], ((0,), (1,), (2,), (3,))),
(3, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, ))),
(4, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
((0, 1, 2, 3), (4, 5, 6, 7), (8, 9))),
(13, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
((0, 1, 2, 3, 4, 5, 6, 7, 8, 9), ))):
with self.subTest(n=count, items=items):
self.assertEqual(partition_all(count, items), expected)
|