class TemplatedPersonsSheet(TableSheet): first_name = TableColumn(header="First name", width=15) last_name = TableColumn(header="Last name", width=15) sex = SexColumn(header="Sex") date_of_birth = DateColumn(header="Date of birth") hide_excess_columns = False
def test_auto_column_header(self): column = TableColumn() column.column_index = 1 self.assertFalse(column._header) header = column.header self.assertIsInstance(header, str) self.assertTrue(header)
class FakeTableSheet(TableSheet): column1 = TableColumn(header="column1") column2 = TableColumn(header="column2") column3 = TableColumn(header="column3") def __init__(self, *rows): self.fake_worksheet = (FakeCells(*row) for row in rows) super(FakeTableSheet, self).__init__(sheetname="fakesheet") @property def worksheet(self): return self.fake_worksheet def read(self, *args, **kwargs): return tuple(super(FakeTableSheet, self).read(*args, **kwargs))
def test_blank_not_allowed(self): column = TableColumn(allow_blank=False) for value in ("", None): with self.assertRaises(BlankNotAllowed, msg="'%s' (%s)" % (value, type(value).__name__)): column._to_excel(value) for value in ("", None, "'"): with self.assertRaises(BlankNotAllowed, msg="'%s' (%s)" % (value, type(value).__name__)): column._from_excel(FakeCell(value))
def test_column_letter(self): column = TableColumn() for i in range(1, 20): column.column_index = i self.assertEqual(column.column_letter, chr(ord('A') + i - 1))
def setUp(self): self.column = TableColumn(header="TestColumn")
class MultipleFrozenColumnsSheet(TableSheet): column1 = TableColumn(freeze=True) column2 = TableColumn(freeze=True)
class TestTemplatedSheet(TableSheet): column1 = TableColumn(header="column1") column2 = TableColumn(header="column2") column3 = TableColumn(header="column3")
class CannotGroupLastColumnSheet(TableSheet): column1 = TableColumn() column2 = TableColumn(hidden=True)
class InvalidSheet(TableSheet): column1 = TableColumn(header="header1") column2 = TableColumn(header="header1") column3 = TableColumn(header="header2") column4 = TableColumn(header="header2")
class InvalidSheet(TableSheet): column1 = TableColumn(header="header") column2 = TableColumn(header="header")
class FreezeThirdSheet(TableSheet): column1 = TableColumn(header="column1") column2 = TableColumn(header="column2") column3 = TableColumn(header="column3", freeze=True)
class FreezeSecondSheet(TableSheet): column1 = TableColumn(header="column1") column2 = TableColumn(header="column2", freeze=True) column3 = TableColumn(header="column3")
class FreezeFirstSheet(TableSheet): column1 = TableColumn(header="column1", freeze=True) column2 = TableColumn(header="column2") column3 = TableColumn(header="column3")