def test_write_mmCIF_dictionary(self): unit_test_file = "io_testcase_5.cif" cfr = CifFileReader(input='dictionary') cif_file = cfr.read(self.TEST_DIC_FILE, output='cif_file') cfw = CifFileWriter(file_path=os.path.join(self.FILE_ROOT, unit_test_file)) cfw.write(cif_file) test_file = cfr.read(os.path.join(self.FILE_ROOT, unit_test_file), output='cif_file') test_value = test_file.getDataBlock('TEST')\ .getSaveFrame('some_interesting_category')\ .getCategory('category')\ .getItem('mandatory_code')\ .value self.assertEquals(test_value, 'no', 'mmCIF dictionary file was not written correctly')
def test_write_raw_dictionary_without_block_id(self): unit_test_file = "io_testcase_4.cif" # Test raw dictionary (WITHOUT datablock id) cfw = CifFileWriter(file_path=os.path.join(self.FILE_ROOT, unit_test_file)) cfw.write(self.raw_dictionary['TEST_BLOCK_1']) del cfw cfr = CifFileReader(input='data') test_file = cfr.read(os.path.join(self.FILE_ROOT, unit_test_file), output='cif_wrapper') data_block_ids = test_file.keys() data_block_ids.sort() self.assertEqual(data_block_ids, [unit_test_file,], "Datablock(s) were not written correctly") self.assertEqual(test_file[unit_test_file]._test_category_2.test_value_1, ['1', '2', '3', '4'], "mmCIF data was not written correctly")
def test_write_ciffile_after_ciffile_dictionary_import(self): # Test write CifFile initialized by dictionary unit_test_file = "io_testcase_1.cif" cfw = CifFileWriter() cif_file = CifFile(os.path.join(self.FILE_ROOT, unit_test_file)) cif_file.import_mmcif_data_map(self.raw_dictionary) cfw.write(cif_file) cfr = CifFileReader(input='data') test_file = cfr.read(os.path.join(self.FILE_ROOT, unit_test_file), output='cif_wrapper') data_block_ids = test_file.keys() data_block_ids.sort() self.assertEqual(data_block_ids, ['TEST_BLOCK_1', 'TEST_BLOCK_2'], "Datablock(s) were not written correctly") self.assertEqual(test_file['TEST_BLOCK_1']._test_category_2.test_value_1, ['1', '2', '3', '4'], "mmCIF data was not written correctly")
def test_write_ciffile_after_cifwrapper_dictionary_import(self): # Test write CifFile initialized by CIFWrapper and dictionary import unit_test_file = "io_testcase_2.cif" cfw = CifFileWriter(file_path=os.path.join(self.FILE_ROOT, unit_test_file)) cif_obj = dict((k, CIFWrapper(v)) for k, v in self.raw_dictionary.items()) cif_wrapper = CIFWrapper({'TEST_BLOCK_1': self.raw_dictionary['TEST_BLOCK_1']}) cfw.write(cif_wrapper) cif_wrapper = CIFWrapper({'TEST_BLOCK_2': self.raw_dictionary['TEST_BLOCK_2']}) cfw.write(cif_wrapper) del cfw cfr = CifFileReader(input='data') test_file = cfr.read(os.path.join(self.FILE_ROOT, unit_test_file), output='cif_wrapper') data_block_ids = test_file.keys() data_block_ids.sort() self.assertEqual(data_block_ids, ['TEST_BLOCK_1', 'TEST_BLOCK_2'], "Datablock(s) were not written correctly") self.assertEqual(test_file['TEST_BLOCK_1']._test_category_2.test_value_1, ['1', '2', '3', '4'], "mmCIF data was not written correctly")