class TestCellAttributes(object): """Unit tests for CellAttributes""" def setup_method(self, method): """Creates empty CellAttributes""" self.cell_attr = CellAttributes() undo_stack().clear() def test_append(self): """Test append""" selection = Selection([], [], [], [], [(23, 12)]) table = 0 attr = {"angle": 0.2} self.cell_attr.append((selection, table, attr)) # Check if 1 item - the actual action has been added assert undo_stack().undocount() == 1 assert not self.cell_attr._attr_cache def test_getitem(self): """Test __getitem__""" selection_1 = Selection([(2, 2)], [(4, 5)], [55], [55, 66], [(34, 56)]) selection_2 = Selection([], [], [], [], [(32, 53), (34, 56)]) self.cell_attr.append((selection_1, 0, {"testattr": 3})) self.cell_attr.append((selection_2, 0, {"testattr": 2})) assert self.cell_attr[32, 53, 0]["testattr"] == 2 assert self.cell_attr[2, 2, 0]["testattr"] == 3 def test_get_merging_cell(self): """Test get_merging_cell""" selection_1 = Selection([(2, 2)], [(5, 5)], [], [], []) selection_2 = Selection([(3, 2)], [(9, 9)], [], [], []) selection_3 = Selection([(2, 2)], [(9, 9)], [], [], []) self.cell_attr.append((selection_1, 0, {"merge_area": (2, 2, 5, 5)})) self.cell_attr.append((selection_2, 0, {"merge_area": (3, 2, 9, 9)})) self.cell_attr.append((selection_3, 1, {"merge_area": (2, 2, 9, 9)})) # Cell 1. 1, 0 is not merged assert self.cell_attr.get_merging_cell((1, 1, 0)) is None # Cell 3. 3, 0 is merged to cell 3, 2, 0 assert self.cell_attr.get_merging_cell((3, 3, 0)) == (3, 2, 0) # Cell 2. 2, 0 is merged to cell 2, 2, 0 assert self.cell_attr.get_merging_cell((2, 2, 0)) == (2, 2, 0)
class TestCellAttributes(object): """Unit tests for CellAttributes""" def setup_method(self, method): """Creates empty CellAttributes""" self.cell_attr = CellAttributes() def test_undoable_append(self): """Test undoable_append""" pass def test_getitem(self): """Test __getitem__""" selection_1 = Selection([(2, 2)], [(4, 5)], [55], [55, 66], [(34, 56)]) selection_2 = Selection([], [], [], [], [(32, 53), (34, 56)]) self.cell_attr.append((selection_1, 0, {"testattr": 3})) self.cell_attr.append((selection_2, 0, {"testattr": 2})) assert self.cell_attr[32, 53, 0]["testattr"] == 2 assert self.cell_attr[2, 2, 0]["testattr"] == 3
class TestCellAttributes(object): """Unit tests for CellAttributes""" def setup_method(self, method): """Creates empty CellAttributes""" self.cell_attr = CellAttributes() self.cell_attr.unredo = UnRedo() def test_undoable_append(self): """Test undoable_append""" selection = Selection([], [], [], [], [(23, 12)]) table = 0 attr = {"angle": 0.2} self.cell_attr.undoable_append((selection, table, attr)) # Check if 2 items - the actual action and the marker - have been added assert len(self.cell_attr.unredo.undolist) == 2 assert len(self.cell_attr.unredo.redolist) == 0 assert not self.cell_attr._attr_cache def test_getitem(self): """Test __getitem__""" selection_1 = Selection([(2, 2)], [(4, 5)], [55], [55, 66], [(34, 56)]) selection_2 = Selection([], [], [], [], [(32, 53), (34, 56)]) self.cell_attr.append((selection_1, 0, {"testattr": 3})) self.cell_attr.append((selection_2, 0, {"testattr": 2})) assert self.cell_attr[32, 53, 0]["testattr"] == 2 assert self.cell_attr[2, 2, 0]["testattr"] == 3 def test_get_merging_cell(self): """Test get_merging_cell""" selection_1 = Selection([], [], [], [], [(2, 2)]) selection_2 = Selection([], [], [], [], [(3, 2)]) self.cell_attr.append((selection_1, 0, {"merge_area": (2, 2, 5, 5)})) self.cell_attr.append((selection_2, 0, {"merge_area": (3, 2, 9, 9)})) self.cell_attr.append((selection_1, 1, {"merge_area": (2, 2, 9, 9)})) # Cell 1. 1, 0 is not merged assert self.cell_attr.get_merging_cell((1, 1, 0)) is None # Cell 3. 3, 0 is merged to cell 3, 2, 0 assert self.cell_attr.get_merging_cell((3, 3, 0)) == (3, 2, 0) # Cell 2. 2, 0 is merged to cell 2, 2, 0 assert self.cell_attr.get_merging_cell((2, 2, 0)) == (2, 2, 0)