def test_span_cell(self): pos = (0, 0) size = (3, 3) self.span_controller.set_span(pos, size) for cell_index in (x for x in iter_cell_range(pos, size) if x != pos): self.assertTrue(self.is_covered(cell_index), "cell %s is not covered." % str(cell_index))
def test_remove_span(self): pos = (0, 0) size = (3, 3) self.span_controller.set_span(pos, size) self.span_controller.remove_span(pos) self.assertEqual((1, 1), self.get_cell(pos).span, "cell at %s is spanned." % str(pos)) for cell_index in (x for x in iter_cell_range(pos, size) if x != pos): self.assertFalse(self.is_covered(cell_index), "cell %s is covered." % str(cell_index))
def test_pos_error_negative_start_column(self): with self.assertRaises(ValueError): list(iter_cell_range((0, -1), (1, 1)))
def test_pos_error_negative_start_row(self): with self.assertRaises(ValueError): list(iter_cell_range((-1, 0), (1, 1)))
def test_size_error_zero_columns(self): with self.assertRaises(ValueError): list(iter_cell_range((0, 0), (1, 0)))
def test_size_error_negative_rows(self): with self.assertRaises(ValueError): list(iter_cell_range((0, 0), (-1, 1)))
def test_range(self): result = list(iter_cell_range((0, 0), (2, 2))) self.assertEqual(4, len(result)) self.assertListEqual([(0, 0), (0, 1), (1, 0), (1, 1)], result)