def test_round_trip_through_json_yaml_and_pickle(excel, fixture_xls_path): excel_compiler = ExcelCompiler(excel=excel) excel_compiler.evaluate('Sheet1!D1') excel_compiler.extra_data = {1: 3} excel_compiler.to_file(file_types=('pickle', )) excel_compiler.to_file(file_types=('yml', )) excel_compiler.to_file(file_types=('json', )) # read the spreadsheet from json, yaml and pickle excel_compiler_json = ExcelCompiler.from_file(excel.filename + '.json') excel_compiler_yaml = ExcelCompiler.from_file(excel.filename + '.yml') excel_compiler = ExcelCompiler.from_file(excel.filename) # test evaluation assert -0.02286 == round(excel_compiler_json.evaluate('Sheet1!D1'), 5) assert -0.02286 == round(excel_compiler_yaml.evaluate('Sheet1!D1'), 5) assert -0.02286 == round(excel_compiler.evaluate('Sheet1!D1'), 5) excel_compiler_json.set_value('Sheet1!A1', 200) assert -0.00331 == round(excel_compiler_json.evaluate('Sheet1!D1'), 5) excel_compiler_yaml.set_value('Sheet1!A1', 200) assert -0.00331 == round(excel_compiler_yaml.evaluate('Sheet1!D1'), 5) excel_compiler.set_value('Sheet1!A1', 200) assert -0.00331 == round(excel_compiler.evaluate('Sheet1!D1'), 5)
def test_filename_ext(excel, fixture_xls_path): excel_compiler = ExcelCompiler(excel=excel) excel_compiler.evaluate('Sheet1!D1') excel_compiler.extra_data = {1: 3} pickle_name = excel_compiler.filename + '.pkl' yaml_name = excel_compiler.filename + '.yml' json_name = excel_compiler.filename + '.json' for name in (pickle_name, yaml_name, json_name): try: os.unlink(name) except FileNotFoundError: pass excel_compiler.to_file(excel_compiler.filename) excel_compiler.to_file(json_name, file_types=('json', )) assert os.path.exists(pickle_name) assert os.path.exists(yaml_name) assert os.path.exists(json_name)