Ejemplo n.º 1
0
 def test_ws_rows(self):
     ws = xl.Worksheet()
     ws.update_address('A1', 11)
     ws.update_address('A2', 21)
     ws.update_address('B1', 12)
     correct_list = [[11, 12], [21, '']]
     for i, row in enumerate(ws.rows):
         self.assertEqual(correct_list[i], row)
Ejemplo n.º 2
0
 def test_ws_cols(self):
     ws = xl.Worksheet()
     ws.update_address('A1', 11)
     ws.update_address('A2', 21)
     ws.update_address('B1', 12)
     correct_list = [[11, 21], [12, '']]
     for i, col in enumerate(ws.cols):
         self.assertEqual(correct_list[i], col)
Ejemplo n.º 3
0
 def test_ws_address(self):
     ws = xl.Worksheet()
     ws.update_address('A1', 11)
     self.assertEqual(11, ws.address(address='A1'))
     self.assertEqual(11, ws.address('$A$1'))
     self.assertEqual(11, ws.address('$A1'))
     self.assertEqual(11, ws.address('A$1'))
     self.assertEqual('', ws.address('A2'))
Ejemplo n.º 4
0
    def test_ws_calc_size(self):
        ws = xl.Worksheet()
        self.assertEqual(0, ws.maxrow)
        self.assertEqual(0, ws.maxcol)

        ws.update_address('A1', 11)
        self.assertEqual(1, ws.maxrow)
        self.assertEqual(1, ws.maxcol)

        ws.update_address('A2', 21)
        self.assertEqual(2, ws.maxrow)
        self.assertEqual(1, ws.maxcol)

        ws.update_address('B1', 12)
        self.assertEqual(2, ws.maxrow)
        self.assertEqual(2, ws.maxcol)

        ws.update_address('B2', 22)
        self.assertEqual(2, ws.maxrow)
        self.assertEqual(2, ws.maxcol)

        ws = xl.Worksheet()
        ws.update_address('AA1', 27)
        ws.update_address('AAA1', 703)
        self.assertEqual(1, ws.maxrow)
        self.assertEqual(703, ws.maxcol)

        ws = xl.Worksheet()
        ws.update_address('A1', 1)
        ws.update_address('A1000', 1000)
        ws.update_address('A1048576', 1048576)
        self.assertEqual(1048576, ws.maxrow)
        self.assertEqual(1, ws.maxcol)

        ws = xl.Worksheet()
        ws.update_address('A1', 1)
        ws.update_address('AA1', 27)
        ws.update_address('AAA1', 703)
        ws.update_address('XFD1', 16384)
        ws.update_address('A1048576', 1048576)
        self.assertEqual(1048576, ws.maxrow)
        self.assertEqual(16384, ws.maxcol)
Ejemplo n.º 5
0
    def test_ws_col(self):
        ws = xl.Worksheet({'A1': {'v': 11}, 'A2': {'v': 21}, 'B1': {'v': 12}})
        self.assertEqual(ws.col(col=1), [11, 21])
        self.assertEqual(ws.col(2), [12, ''])
        self.assertEqual(ws.col(3), ['', ''])

        db = xl.Database()
        db.add_ws('sh1')
        db.ws('sh1').update_index(1, 1, '=A1')
        db.ws('sh1').update_index(2, 1, '=A2')
        db.ws('sh1').update_index(2, 2, '=B2')
        self.assertEqual(['=A1', '=A2'], db.ws('sh1').col(1, formula=True))
        self.assertEqual(['', '=B2'], db.ws('sh1').col(2, formula=True))
Ejemplo n.º 6
0
    def test_ws_keycol(self):
        ws = xl.Worksheet({'A1': {'v': 11}, 'B1': {'v': 11}, 'C1': {'v': 13},
                        'A2': {'v': 21}, 'B2': {'v': 22}, 'C2': {'v': 23},
                        'A3': {'v': 11}, 'B3': {'v': 32}, 'C3': {'v': 33}})
        self.assertEqual(ws.keycol(key=11), [11, 21, 11])
        self.assertEqual(ws.keycol(key=11, keyindex=1), [11, 21, 11])
        self.assertEqual(ws.keycol(key=11, keyindex=2), [])
        self.assertEqual(ws.keycol(key=32, keyindex=3), [11, 22, 32])

        self.assertEqual(ws.keyrow(key=11), [11, 11, 13])
        self.assertEqual(ws.keyrow(key=11, keyindex=1), [11, 11, 13])
        self.assertEqual(ws.keyrow(key=11, keyindex=2), [11, 11, 13])
        self.assertEqual(ws.keyrow(key=22, keyindex=2), [21, 22, 23])
        self.assertEqual(ws.keyrow(key=22, keyindex=3), [])
Ejemplo n.º 7
0
 def test_update_index(self):
     ws = xl.Worksheet()
     ws.update_index(row=4, col=2, val=42)
     self.assertEqual([4, 2], ws.size)
     self.assertEqual(42, ws.index(4, 2))
     self.assertEqual(42, ws.address('B4'))
     self.assertEqual(42, ws.row(4)[1])
     self.assertEqual(42, ws.col(2)[3])
     # update with empty data
     ws.update_index(1, 1, '')
     self.assertEqual('', ws.index(1, 1))
     # update with formula
     ws.update_index(1, 1, '=A2')
     self.assertEqual('=A2', ws.index(1, 1, output='f'))
Ejemplo n.º 8
0
 def test_update_address(self):
     ws = xl.Worksheet({})
     ws.update_address(address='B4', val=42)
     self.assertEqual([4, 2], ws.size)
     self.assertEqual(42, ws.index(4, 2))
     self.assertEqual(42, ws.address('B4'))
     self.assertEqual(42, ws.row(4)[1])
     self.assertEqual(42, ws.col(2)[3])
     # update with empty data
     ws.update_address('A1', '')
     self.assertEqual('', ws.address('A1'))
     # update with formula
     ws.update_address('A1', '=A2')
     self.assertEqual('=A2', ws.address('A1', formula=True))
Ejemplo n.º 9
0
    def test_ws_col(self):
        ws = xl.Worksheet()
        ws.update_address('A1', 11)
        ws.update_address('A2', 21)
        ws.update_address('B1', 12)
        self.assertEqual([11, 21], ws.col(col=1))
        self.assertEqual([12, ''], ws.col(2))
        self.assertEqual(['', ''], ws.col(3))

        db = xl.Database()
        db.add_ws('sh1')
        db.ws('sh1').update_index(1, 1, '=A1')
        db.ws('sh1').update_index(2, 1, '=A2')
        db.ws('sh1').update_index(2, 2, '=B2')
        self.assertEqual(['=A1', '=A2'], db.ws('sh1').col(1, output='f'))
        self.assertEqual(['', '=B2'], db.ws('sh1').col(2, output='f'))
Ejemplo n.º 10
0
    def test_ws_row(self):
        ws = xl.Worksheet()
        ws.update_address('A1', 11)
        ws.update_address('A2', 21)
        ws.update_address('B1', 12)
        self.assertEqual([11, 12], ws.row(row=1))
        self.assertEqual([21, ''], ws.row(2))
        self.assertEqual(['', ''], ws.row(3))

        db = xl.Database()
        db.add_ws('sh1')
        db.ws('sh1').update_index(1, 1, '=A1')
        db.ws('sh1').update_index(2, 1, '=A2')
        db.ws('sh1').update_index(2, 2, '=B2')
        self.assertEqual(['=A1', ''], db.ws('sh1').row(1, formula=True))
        self.assertEqual(['=A2', '=B2'], db.ws('sh1').row(2, formula=True))
Ejemplo n.º 11
0
    def test_ws_calc_size(self):
        ws = xl.Worksheet({})
        # force calc size
        ws._calc_size()
        self.assertEqual(ws.maxrow, 0)
        self.assertEqual(ws.maxcol, 0)

        ws._data = {'A1': {'v': 11}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 1)
        self.assertEqual(ws.maxcol, 1)

        ws._data = {'A1': {'v': 11}, 'A2': {'v': 21}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 2)
        self.assertEqual(ws.maxcol, 1)

        ws._data = {'A1': {'v': 11}, 'A2': {'v': 21}, 'B1': {'v': 12}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 2)
        self.assertEqual(ws.maxcol, 2)

        ws._data = {'A1': {'v': 11}, 'A2': {'v': 21}, 'B1': {'v': 12}, 'B2': {'v': 22}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 2)
        self.assertEqual(ws.maxcol, 2)

        ws._data = {'A1': {'v': 1}, 'AA1': {'v': 27}, 'AAA1': {'v': 703}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 1)
        self.assertEqual(ws.maxcol, 703)

        ws._data = {'A1': {'v': 1}, 'A1000': {'v': 1000}, 'A1048576': {'v': 1048576}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 1048576)
        self.assertEqual(ws.maxcol, 1)

        ws._data = {'A1': {'v': 1}, 'AA1': {'v': 27}, 'AAA1': {'v': 703}, 'XFD1': {'v': 16384},
                    'A1048576': {'v': 1048576}}
        ws._calc_size()
        self.assertEqual(ws.maxrow, 1048576)
        self.assertEqual(ws.maxcol, 16384)
Ejemplo n.º 12
0
    def test_ws_keycol(self):
        ws = xl.Worksheet()
        ws.update_address('A1', 11)
        ws.update_address('A2', 21)
        ws.update_address('A3', 11)
        ws.update_address('B1', 11)
        ws.update_address('B2', 22)
        ws.update_address('B3', 32)
        ws.update_address('C1', 13)
        ws.update_address('C2', 23)
        ws.update_address('C3', 33)

        self.assertEqual([11, 21, 11], ws.keycol(key=11))
        self.assertEqual([11, 21, 11], ws.keycol(key=11, keyindex=1))
        self.assertEqual([], ws.keycol(key=11, keyindex=2))
        self.assertEqual([11, 22, 32], ws.keycol(key=32, keyindex=3))

        self.assertEqual([11, 11, 13], ws.keyrow(key=11))
        self.assertEqual([11, 11, 13], ws.keyrow(key=11, keyindex=1))
        self.assertEqual([11, 11, 13], ws.keyrow(key=11, keyindex=2))
        self.assertEqual([21, 22, 23], ws.keyrow(key=22, keyindex=2))
        self.assertEqual([], ws.keyrow(key=22, keyindex=3))
Ejemplo n.º 13
0
 def test_ws_init(self):
     ws = xl.Worksheet(data={})
     self.assertEqual(ws._data, {})
     self.assertEqual(ws.maxrow, 0)
     self.assertEqual(ws.maxcol, 0)
Ejemplo n.º 14
0
 def test_ws_size(self):
     ws = xl.Worksheet()
     self.assertEqual([0, 0], ws.size)
     ws.update_address('A1', 11)
     ws.update_address('A2', 21)
     self.assertEqual([2, 1], ws.size)
Ejemplo n.º 15
0
 def test_ws_cols(self):
     ws = xl.Worksheet({'A1': {'v': 11}, 'A2': {'v': 21}, 'B1': {'v': 12}})
     correct_list = [[11, 21], [12, '']]
     for i, col in enumerate(ws.cols):
         self.assertEqual(col, correct_list[i])
Ejemplo n.º 16
0
 def test_ws_rows(self):
     ws = xl.Worksheet({'A1': {'v': 11}, 'A2': {'v': 21}, 'B1': {'v': 12}})
     correct_list = [[11, 12], [21, '']]
     for i, row in enumerate(ws.rows):
         self.assertEqual(row, correct_list[i])
Ejemplo n.º 17
0
 def test_ws_index(self):
     ws = xl.Worksheet()
     ws.update_address('A1', 11)
     self.assertEqual(11, ws.index(row=1, col=1))
     self.assertEqual('', ws.index(1, 2))
Ejemplo n.º 18
0
 def test_ws_index(self):
     ws = xl.Worksheet({'A1': {'v': 1}})
     self.assertEqual(ws.index(row=1, col=1), 1)
     self.assertEqual(ws.index(1, 2), '')
Ejemplo n.º 19
0
 def test_ws_address(self):
     ws = xl.Worksheet({'A1': {'v': 1}})
     self.assertEqual(ws.address(address='A1'), 1)
     self.assertEqual(ws.address('A2'), '')
     self.assertEqual(1, ws.address('$A$1'))
Ejemplo n.º 20
0
 def test_ws_size(self):
     ws = xl.Worksheet({})
     self.assertEqual(ws.size, [0, 0])
     ws._data = {'A1': {'v': 11}, 'A2': {'v': 21}}
     ws._calc_size()
     self.assertEqual(ws.size, [2, 1])
Ejemplo n.º 21
0
 def test_ws_repr(self):
     ws = xl.Worksheet({})
     self.assertEqual(str(ws), 'pylightxl.Database.Worksheet')
Ejemplo n.º 22
0
 def test_ws_init(self):
     ws = xl.Worksheet()
     self.assertEqual({}, ws._data)
     self.assertEqual(0, ws.maxrow)
     self.assertEqual(0, ws.maxcol)