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()
|