def test_setattr_should_not_delegate_to_setitem_if_attr_name_is_not_valid_cell_name(self): ws = Worksheet() ws.__setitem__ = Mock() ws.A1 = 23 self.assertEquals( ws.__setitem__.call_args_list, [] ) self.assertEquals( ws.A1, 23 )
def test_load_constants_should_clear_errors_for_constants(self): cell = Cell() cell.formula = "a constant" cell.error = 'Ohno!' worksheet = Worksheet() worksheet.A1 = cell load_constants(worksheet) self.assertIsNone(cell.error)
def test_sheet_to_ui_json_grid_data_should_not_include_totally_empty_cells(self): worksheet = Worksheet() worksheet.A1 = Cell() expected_json_contents = { 'bottom': 10, 'left': 0, 'right': 10, 'topmost': 0 } self.assertEquals(json.loads(sheet_to_ui_json_grid_data(worksheet, (0, 0, 10, 10))), expected_json_contents)
def test_sheet_to_ui_json_grid_data_should_not_include_totally_empty_cells( self): worksheet = Worksheet() worksheet.A1 = Cell() expected_json_contents = { 'bottom': 10, 'left': 0, 'right': 10, 'topmost': 0 } self.assertEquals( json.loads(sheet_to_ui_json_grid_data(worksheet, (0, 0, 10, 10))), expected_json_contents)
def test_setattr_should_delegate_to_setitem_if_attr_name_is_valid_cell_name( self, mock_name_to_coords ): def name_to_coords(name): if name == 'A1': return (2, 3) else: return None mock_name_to_coords.side_effect = name_to_coords ws = Worksheet() ws.__setitem__ = Mock() ws.A1 = 23 self.assertEquals( ws.__setitem__.call_args_list, [(((2, 3), 23), {})] )