def test_format_cells(): grid = [["a", percentage("0/3")], ["b", "=1/2", 2, 4.4]] sheet_id = 37 expected = { 'updateCells': { 'rows': [{ 'values': [string_cell("a"), percentage("0/3")] }, { 'values': [ string_cell("b"), formula_cell("=1/2"), number_cell(2), number_cell(4.4) ] }], 'fields': '*', 'start': { 'sheetId': sheet_id, 'rowIndex': 0, 'columnIndex': 0 } } } assert cells_request(sheet_id, grid) == expected
def fracking_full_data_tab(fund_name, init_data, fracking_patterns): headers = [ 'Name of Local Authority Pension Fund', 'Description of Holding', 'Sub-category/Classification', 'Fracking Companies', 'Verification', 'Fracking Amounts', 'All Amounts' ] rows = [headers] for init_row in init_data: if not is_valid_input_row(init_row): print('SKIPPING INVALID ROW: ' + str(init_row)) continue rowNo = len(rows) + 1 cellId = 'B' + str(rowNo) fracking_formula = None if (cellId == 'B2'): fracking_formula = formula.pattern_match('B2:B', fracking_patterns) row = [ fund_name, init_row.get('Description of Holding', ''), init_row.get('Sub-category/Classification', ''), fracking_formula, formula.verification_1col(rowNo, 'D', 'B'), formula.fossil_amount(rowNo, 'E', 'G'), spreadsheet.number_cell(init_row.get('Amount', '')) ] rows.append(row) return rows
def full_data_tab(fund_name, init_data, oil_patterns, coal_patterns): headers = [ 'Name of Local Authority Pension Fund', 'Description of Holding', 'Sub-category/Classification', 'Oil/Gas Companies', 'Coal Companies', 'Verification', 'Fossil Fuel Amounts', 'All Amounts' ] rows = [headers] for init_row in init_data: if not is_valid_input_row(init_row): print('SKIPPING invalid row: ' + str(init_row)) continue rowNo = len(rows) + 1 cellId = 'B' + str(rowNo) oil_formula = None coal_formula = None if (cellId == 'B2'): oil_formula = formula.pattern_match('B2:B', oil_patterns) coal_formula = formula.pattern_match('B2:B', coal_patterns) row = [ fund_name, init_row.get('Description of Holding', ''), init_row.get('Sub-category/Classification', ''), oil_formula, coal_formula, formula.verification(rowNo, 'D', 'E', 'B'), formula.fossil_amount(rowNo, 'F', 'H'), spreadsheet.number_cell(init_row.get('Amount', '')) ] rows.append(row) return rows
def test_fracking_full_data_tab(): init_data = [ fund_record('BP Oil', '23400', 'category1'), fund_record('Big Coal', '345.3', 'category2'), fund_record('Evil Doers', '455.4', 'category3'), fund_record('', '0', 'blibble'), fund_record('No amount', '', 'category4') ] fracking_patterns = [{ 'name': 'BP', 'pattern': '^BP*' }, { 'name': 'Shell', 'pattern': 'shell' }] expected = [[ 'Name of Local Authority Pension Fund', 'Description of Holding', 'Sub-category/Classification', 'Fracking Companies', 'Verification', 'Fracking Amounts', 'All Amounts' ], [ 'A fund', 'BP Oil', 'category1', formula.pattern_match('B2:B', fracking_patterns), formula.verification_1col(2, 'D', 'B'), formula.fossil_amount(2, 'E', 'G'), number_cell(23400.0) ], [ 'A fund', 'Big Coal', 'category2', None, formula.verification_1col(3, 'D', 'B'), formula.fossil_amount(3, 'E', 'G'), number_cell(345.3) ], [ 'A fund', 'Evil Doers', 'category3', None, formula.verification_1col(4, 'D', 'B'), formula.fossil_amount(4, 'E', 'G'), number_cell(455.4) ]] assert expected == stage5.fracking_full_data_tab('A fund', init_data, fracking_patterns)
def test_full_data_tab(): init_data = [ fund_record('BP Oil', '23400', 'category1'), fund_record('Big Coal', '345.3', 'category2'), fund_record('Evil Doers', '455.4', 'category3') ] oil_patterns = [{ 'name': 'BP', 'pattern': '^BP*' }, { 'name': 'Shell', 'pattern': 'shell' }] coal_patterns = [{'name': 'King Coal', 'pattern': '^king coal'}] expected = [[ 'Name of Local Authority Pension Fund', 'Description of Holding', 'Sub-category/Classification', 'Oil/Gas Companies', 'Coal Companies', 'Verification', 'Fossil Fuel Amounts', 'All Amounts' ], [ 'A fund', 'BP Oil', 'category1', formula.pattern_match('B2:B', oil_patterns), formula.pattern_match('B2:B', coal_patterns), formula.verification(2, 'D', 'E', 'B'), formula.fossil_amount(2, 'F', 'H'), number_cell(23400.0) ], [ 'A fund', 'Big Coal', 'category2', None, None, formula.verification(3, 'D', 'E', 'B'), formula.fossil_amount(3, 'F', 'H'), number_cell(345.3) ], [ 'A fund', 'Evil Doers', 'category3', None, None, formula.verification(4, 'D', 'E', 'B'), formula.fossil_amount(4, 'F', 'H'), number_cell(455.4) ]] assert expected == stage5.full_data_tab('A fund', init_data, oil_patterns, coal_patterns)
def addPooledTab(): headers = ["Rank", "Name", "Category", "Amount", "Is Pooled? (Y/N)"] rows = [] rankCol = 'A' # in this sheet nameCol = 'A' categoryCol = 'B' amount = 'C' for i in range(1, 16): rankCell = 'A' + str(i + 1) row = [ s.number_cell(i), f.largest_value_name('Full Data', 'C', 'A', rankCell), f.largest_value_name('Full Data', 'C', 'B', rankCell), f.largest_value('Full Data', 'C', rankCell) ] rows.append(row) return [headers] + rows
def test_number_cell(): assert number_cell('3.3') == number_cell(3.3) assert number_cell('3,333.0') == number_cell(3333.0)