def test_error_if_data_block_not_given_for_multi_data_blocks(self, mocker): input_dict = fake_cif_data(NUMERICAL_DATA_NAMES + TEXTUAL_DATA_NAMES, no_data_blocks=5) mocker.patch("diffraction.cif.helpers.load_cif", return_value=input_dict) with pytest.raises(TypeError) as exception_info: load_data_block("multi/data/block/cif") assert str(exception_info.value) == \ ("__init__() missing keyword argument: 'data_block'. " "Required when input CIF has multiple data blocks.")
def test_data_block_loads_for_multi_data_blocks(self, mocker): input_dict = fake_cif_data(NUMERICAL_DATA_NAMES + TEXTUAL_DATA_NAMES, no_data_blocks=5) mocker.patch("diffraction.cif.helpers.load_cif", return_value=input_dict) assert load_data_block("multi/data/block/cif", "data_block_0") == \ input_dict["data_block_0"]
def test_single_datablock_loaded_automatically(self, mocker): input_dict = fake_cif_data(NUMERICAL_DATA_NAMES + TEXTUAL_DATA_NAMES) mocker.patch("diffraction.cif.helpers.load_cif", return_value=input_dict) data_items = load_data_block("single/data/block/cif") assert data_items == input_dict["data_block_0"]