import unittest
from waeup.uniben.scripts import partition


class TestScripts(unittest.TestCase):

    def test_partition(self):
        # partition() delivers the chunk sizes we expect
        container = [1, ] * 1000
        # we can get equally sized chunks
        self.assertEqual(partition(container, 250), [
            (0, 0, 249), (1, 250, 499), (2, 500, 749), (3, 750, 999), ]
        )
        # the last chunk might be shorter
        self.assertEqual(partition(container, 400), [
            (0, 0, 399), (1, 400, 799), (2, 800, 999)]
        )
        # we get one chunk if part_size > container size
        self.assertEqual(partition(container, 1100), [
            (0, 0, 999)]
        )
