summaryrefslogtreecommitdiffstats
path: root/test/python/module.py
blob: 88682c668fef5661af75e186d1bdc1c4995f3128 (plain)
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
38
39
40
#!/usr/bin/env python3

import unittest
import ixion


class ModuleTest(unittest.TestCase):

    def test_column_label(self):
        # Get a single label.
        labels = ixion.column_label(0, 1)
        self.assertEqual(1, len(labels))
        self.assertEqual('A', labels[0])

        # Get multiple labels.
        labels = ixion.column_label(2, 10)
        self.assertEqual(8, len(labels))
        self.assertEqual(labels, ('C','D','E','F','G','H','I','J'))

        # The following start, stop combos should individually raise IndexError.
        tests = (
            (2, 2),
            (2, 0),
            (-1, 10)
        )
        for test in tests:
            with self.assertRaises(IndexError):
                labels = ixion.column_label(test[0], test[1])

        # Keyword arguments should work.
        labels = ixion.column_label(start=2, stop=4)
        self.assertEqual(labels, ('C','D'))

        # Get labels in R1C1.
        labels = ixion.column_label(5, 10, 2)
        self.assertEqual(labels, ('6','7','8','9','10'))


if __name__ == '__main__':
    unittest.main()