File: test_workbook.py

package info (click to toggle)
python-xlrd 2.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 1,876 kB
  • sloc: python: 7,540; makefile: 118; sh: 7
file content (63 lines) | stat: -rw-r--r-- 2,025 bytes parent folder | download | duplicates (3)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Portions Copyright (C) 2010, Manfred Moitzi under a BSD licence

from unittest import TestCase

import xlrd
from xlrd import open_workbook
from xlrd.book import Book
from xlrd.sheet import Sheet

from .helpers import from_sample

SHEETINDEX = 0
NROWS = 15
NCOLS = 13


class TestWorkbook(TestCase):
    sheetnames = ['PROFILEDEF', 'AXISDEF', 'TRAVERSALCHAINAGE',
                  'AXISDATUMLEVELS', 'PROFILELEVELS']

    def setUp(self):
        self.book = open_workbook(from_sample('profiles.xls'))

    def test_open_workbook(self):
        self.assertTrue(isinstance(self.book, Book))

    def test_nsheets(self):
        self.assertEqual(self.book.nsheets, 5)

    def test_sheet_by_name(self):
        for name in self.sheetnames:
            sheet = self.book.sheet_by_name(name)
            self.assertTrue(isinstance(sheet, Sheet))
            self.assertEqual(name, sheet.name)

    def test_sheet_by_index(self):
        for index in range(5):
            sheet = self.book.sheet_by_index(index)
            self.assertTrue(isinstance(sheet, Sheet))
            self.assertEqual(sheet.name, self.sheetnames[index])

    def test_sheets(self):
        sheets = self.book.sheets()
        for index, sheet in enumerate(sheets):
            self.assertTrue(isinstance(sheet, Sheet))
            self.assertEqual(sheet.name, self.sheetnames[index])

    def test_sheet_names(self):
        self.assertEqual(self.sheetnames, self.book.sheet_names())

    def test_getitem_ix(self):
        sheet = self.book[SHEETINDEX]
        self.assertNotEqual(xlrd.empty_cell, sheet.cell(0, 0))
        self.assertNotEqual(xlrd.empty_cell, sheet.cell(NROWS - 1, NCOLS - 1))

    def test_getitem_name(self):
        sheet = self.book[self.sheetnames[SHEETINDEX]]
        self.assertNotEqual(xlrd.empty_cell, sheet.cell(0, 0))
        self.assertNotEqual(xlrd.empty_cell, sheet.cell(NROWS - 1, NCOLS - 1))

    def test_iter(self):
        sheets = [sh.name for sh in self.book]
        self.assertEqual(sheets, self.sheetnames)