def test_split_candidates__divisible_by_columns(self):
        from nuorisovaalit.views.voting import split_candidates
        candidates = range(12)
        columns = list(split_candidates(candidates, 3))

        self.assertEquals(3, len(columns))
        self.assertEquals(columns, [
            [0, 1, 2, 3],
            [4, 5, 6, 7],
            [8, 9, 10, 11]])
    def test_split_candidate__odd_sized_columns(self):
        from nuorisovaalit.views.voting import split_candidates
        candidates = range(13)
        columns = list(split_candidates(candidates, 3))

        self.assertEquals(3, len(columns))
        self.assertEquals(columns, [
            [0, 1, 2, 3, 4],
            [5, 6, 7, 8],
            [9, 10, 11, 12]])
    def test_split_candidates__boundary_cases(self):
        from nuorisovaalit.views.voting import split_candidates

        candidates = range(1)
        columns = list(split_candidates(candidates, 3))
        self.assertEquals(1, len(columns))
        self.assertEquals(columns, [[0]])

        candidates = range(2)
        columns = list(split_candidates(candidates, 3))
        self.assertEquals(2, len(columns))
        self.assertEquals(columns, [[0], [1]])

        candidates = range(3)
        columns = list(split_candidates(candidates, 3))
        self.assertEquals(3, len(columns))
        self.assertEquals(columns, [[0], [1], [2]])

        candidates = range(4)
        columns = list(split_candidates(candidates, 3))
        self.assertEquals(3, len(columns))
        self.assertEquals(columns, [[0, 1], [2], [3]])