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)
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)