Esempio n. 1
0
    def test_handles_excel_errors(self, mock_xlrd_date_as_tuple):
        mock_excel_worksheet = Mock()
        errors = {
            (0, 0): (0x0, '=#NULL!'),
            (1, 0): (0x7, '=#DIV/0!'),
            (2, 0): (0xf, '=#VALUE!'),
            (3, 0): (0x17, '=#REF!'),
            (4, 0): (0x1d, '=#NAME?'),
            (5, 0): (0x24, '=#NUM!'),
            (6, 0): (0x2a, '=#N/A'),
        }

        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.ctype = xlrd.XL_CELL_ERROR
            mock_cell.value = errors[row, col][0]
            return mock_cell

        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 7
        mock_excel_worksheet.ncols = 1

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(worksheet[col + 1, row + 1].formula,
                                  errors[row, col][1])
Esempio n. 2
0
    def test_converts_excel_dates_to_python_datetime(self,
                                                     mock_xlrd_date_as_tuple):
        mock_excel_worksheet = Mock()

        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.ctype = xlrd.XL_CELL_DATE
            mock_cell.value = (row, col)
            return mock_cell

        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 4
        mock_excel_worksheet.ncols = 3

        def mock_xlrd_date_as_tuple_function(cell_value, datemode):
            row, col = cell_value
            self.assertEquals(datemode, mock_excel_worksheet.book.datemode)
            return (2011, row, col, 1, 2, 3)

        mock_xlrd_date_as_tuple.side_effect = mock_xlrd_date_as_tuple_function

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(
                    worksheet[col + 1, row + 1].formula,
                    '=DateTime(2011, %s, %s, 1, 2, 3)' % (row, col))
    def test_handles_excel_errors(self, mock_xlrd_date_as_tuple):
        mock_excel_worksheet = Mock()
        errors = {
                (0,0) : (0x0, '=#NULL!'),
                (1,0) : (0x7, '=#DIV/0!'),
                (2,0) : (0xf, '=#VALUE!'),
                (3,0) : (0x17, '=#REF!'),
                (4,0) : (0x1d, '=#NAME?'),
                (5,0) : (0x24, '=#NUM!'),
                (6,0) : (0x2a, '=#N/A'),

        }
        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.ctype = xlrd.XL_CELL_ERROR
            mock_cell.value = errors[row, col][0]
            return mock_cell
        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 7
        mock_excel_worksheet.ncols = 1

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(
                        worksheet[col + 1, row + 1].formula,
                        errors[row, col][1]
                )
    def test_converts_excel_dates_to_python_datetime(self, mock_xlrd_date_as_tuple):
        mock_excel_worksheet = Mock()
        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.ctype = xlrd.XL_CELL_DATE
            mock_cell.value = (row, col)
            return mock_cell
        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 4
        mock_excel_worksheet.ncols = 3

        def mock_xlrd_date_as_tuple_function(cell_value, datemode):
            row, col = cell_value
            self.assertEquals(datemode, mock_excel_worksheet.book.datemode)
            return (2011, row, col, 1, 2, 3)
        mock_xlrd_date_as_tuple.side_effect = mock_xlrd_date_as_tuple_function

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(
                        worksheet[col + 1, row + 1].formula,
                        '=DateTime(2011, %s, %s, 1, 2, 3)' % (row, col)
                )
    def test_populates_worksheet_handles_float_source_values(self):
        mock_excel_worksheet = Mock()
        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.value = col + row + 0.1
            return mock_cell
        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 4
        mock_excel_worksheet.ncols = 3

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(worksheet[col + 1, row + 1].formula, '%s' % (col + row + 0.1, ))
Esempio n. 6
0
    def test_populates_worksheet_handles_float_source_values(self):
        mock_excel_worksheet = Mock()

        def mock_cell(row, col):
            mock_cell = Mock()
            mock_cell.value = col + row + 0.1
            return mock_cell

        mock_excel_worksheet.cell.side_effect = mock_cell
        mock_excel_worksheet.nrows = 4
        mock_excel_worksheet.ncols = 3

        worksheet = worksheet_from_excel(mock_excel_worksheet)

        for col in range(mock_excel_worksheet.ncols):
            for row in range(mock_excel_worksheet.nrows):
                self.assertEquals(worksheet[col + 1, row + 1].formula,
                                  '%s' % (col + row + 0.1, ))