Пример #1
0
class TestRowColumnAccess(unittest.TestCase):
    def setUp(self):
        self.table = Table(xmlnode=etree.XML(SQUAREMATRIX))

    def test_get_row_1_by_index(self):
        values = [cell.value for cell in self.table.row(1)]
        self.assertEqual(values, [5., 6., 7., 8.])

    def test_get_row_1_by_address(self):
        self.assertEqual(tofloats(self.table.row('A2')), [5., 6., 7., 8.])

    def test_row_slice(self):
        self.assertEqual(tofloats(self.table.row(1)[1:3]), [6., 7.])

    def test_row_index_error(self):
        with self.assertRaises(IndexError):
            self.table.row(4)

    def test_row_neg_index(self):
        self.assertEqual(tofloats(self.table.row(-1)), [13., 14., 15., 16.])

    def test_get_column_1_by_index(self):
        self.assertEqual(tofloats(self.table.column(1)), [2., 6., 10., 14.])

    def test_get_column_1_by_address(self):
        self.assertEqual(tofloats(self.table.column('B2')), [2., 6., 10., 14.])

    def test_column_slice(self):
        self.assertEqual(tofloats(self.table.column(1)[1:3]), [6., 10.])

    def test_column_index_error(self):
        with self.assertRaises(IndexError):
            self.table.column(4)

    def test_column_neg_index(self):
        self.assertEqual(tofloats(self.table.column(-1)), [4., 8., 12., 16.])

    def test_rows(self):
        values = tofloats(chain(*self.table.rows()))
        expected = [float(x) for x in range(1, 17)]
        self.assertEqual(expected, values)

    def test_columns(self):
        values = tofloats(chain(*self.table.columns()))
        expected = [
            1., 5., 9., 13., 2., 6., 10., 14., 3., 7., 11., 15., 4., 8., 12.,
            16.
        ]
        self.assertEqual(expected, values)
Пример #2
0
class TestRowColumnAccess(unittest.TestCase):
    def setUp(self):
        self.table = Table(xmlnode=etree.XML(SQUAREMATRIX))

    def test_get_row_1_by_index(self):
        values = [cell.value for cell in self.table.row(1)]
        self.assertEqual(values, [5., 6., 7., 8.])

    def test_get_row_1_by_address(self):
        self.assertEqual(tofloats(self.table.row('A2')), [5., 6., 7., 8.])

    def test_row_slice(self):
        self.assertEqual(tofloats(self.table.row(1)[1:3]), [6., 7.])

    def test_row_index_error(self):
        with self.assertRaises(IndexError):
            self.table.row(4)

    def test_row_neg_index(self):
        self.assertEqual(tofloats(self.table.row(-1)), [13., 14., 15., 16.])

    def test_get_column_1_by_index(self):
        self.assertEqual(tofloats(self.table.column(1)), [2., 6., 10., 14.])

    def test_get_column_1_by_address(self):
        self.assertEqual(tofloats(self.table.column('B2')), [2., 6., 10., 14.])

    def test_column_slice(self):
        self.assertEqual(tofloats(self.table.column(1)[1:3]), [6., 10.])

    def test_column_index_error(self):
        with self.assertRaises(IndexError):
            self.table.column(4)

    def test_column_neg_index(self):
        self.assertEqual(tofloats(self.table.column(-1)), [4., 8., 12., 16.])

    def test_rows(self):
        values = tofloats(chain(*self.table.rows()))
        expected = [float(x) for x in range(1, 17)]
        self.assertEqual(expected, values)

    def test_columns(self):
        values = tofloats(chain(*self.table.columns()))
        expected = [1., 5., 9., 13., 2., 6., 10., 14., 3., 7., 11., 15., 4., 8., 12., 16.]
        self.assertEqual(expected, values)