def test_save_xrf_quant_fluor_json_file3(tmp_path): # 'save_xrf_quant_fluor_json_file' - invalid schema data, json_path = _get_data_and_json_path(tmp_path) data = copy.deepcopy(data) # Change the data so that it doesn't satisfy the schema data["incident_energy"] = "incident_energy" # Supposed to be a number with pytest.raises(jsonschema.ValidationError): save_xrf_quant_fluor_json_file(json_path, data)
def test_save_xrf_quant_fluor_json_file1(tmp_path): r"""Basic test of function 'save_xrf_standard_yaml_file' and 'load_xrf_standard_yaml_file'""" data, json_path = _get_data_and_json_path(tmp_path) # Sample data save_xrf_quant_fluor_json_file(json_path, data) data_loaded = load_xrf_quant_fluor_json_file(json_path) assert data_loaded == data, "Loaded data is not equal to the original data"
def test_load_xrf_quant_fluor_json_file2(tmp_path): # 'load_xrf_quant_fluor_json_file' - schema is not matched data, json_path = _get_data_and_json_path(tmp_path) # Create file save_xrf_quant_fluor_json_file(json_path, data) schema = copy.deepcopy(_xrf_quant_fluor_schema) # Modify schema, so that it is incorrect schema["properties"]["scaler_name"] = {"type": "number"} # Supposed to be a string with pytest.raises(jsonschema.ValidationError): load_xrf_quant_fluor_json_file(json_path, schema=schema)
def test_save_xrf_quant_fluor_json_file4(tmp_path): r"""Schema allows some data fields to hold value of ``None``. Test if this works.""" data, json_path = _get_data_and_json_path(tmp_path) # Modify some elements of the dictionary data = copy.deepcopy(data) data["detector_channel"] = None data["scaler_name"] = None data["distance_to_sample"] = None # Sample data save_xrf_quant_fluor_json_file(json_path, data) data_loaded = load_xrf_quant_fluor_json_file(json_path) assert data_loaded == data, "Loaded data is not equal to the original data"
def test_save_xrf_quant_fluor_json_file2(tmp_path): # 'save_xrf_quant_fluor_json_file' - overwrite existing file data, json_path = _get_data_and_json_path(tmp_path) # Create file save_xrf_quant_fluor_json_file(json_path, data) # Attempt to overwrite with pytest.raises(IOError, match=f"File '{json_path}' already exists"): save_xrf_quant_fluor_json_file(json_path, data) # Now overwrite the file by setting the flag 'overwrite_existing=True' save_xrf_quant_fluor_json_file(json_path, data, overwrite_existing=True)
def test_save_xrf_quant_fluor_json_file2(tmp_path): # 'save_xrf_quant_fluor_json_file' - overwrite existing file data, json_path = _get_data_and_json_path(tmp_path) # Create file save_xrf_quant_fluor_json_file(json_path, data) # Attempt to overwrite (note: 're.escape' is necessary for Windows paths) with pytest.raises(IOError, match=f"File '{re.escape(json_path)}' already exists"): save_xrf_quant_fluor_json_file(json_path, data) # Now overwrite the file by setting the flag 'overwrite_existing=True' save_xrf_quant_fluor_json_file(json_path, data, overwrite_existing=True)