def test_diff_json_handles_hgvs_protein_non_changes_correctly(self): field = "HGVS_Protein" prev = "NM_000059:p.His1085Arg" new = "NM_000059:p.His1085Arg" diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'HGVS_Protein') self.assertEqual(diff['field_type'], 'individual') self.assertIsNone(diff['added']) self.assertIsNone(diff['removed'])
def test_diff_json_handles_list_changes_correctly(self): field = "Source" prev = "BIC,ClinVar,ENIGMA" new = "ClinVar" diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'Source') self.assertEqual(diff['field_type'], 'list') self.assertIsNone(diff['added']) self.assertEqual(diff['removed'], ['BIC', 'ENIGMA'])
def test_diff_json_handles_individual_changes_data_added_from_nothing_correctly(self): field = "HGVS_Protein" prev = "-" new = "NM_000059:p.His1085Arg" diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'HGVS_Protein') self.assertEqual(diff['field_type'], 'individual') self.assertEqual(diff['added'], 'NM_000059:p.His1085Arg') self.assertEqual(diff['removed'], '-')
def test_diff_json_handles_list_changes_correctly_changed_order(self): field = "Source_URL" prev = "http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000075545, http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000187590, http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000144137" new = "http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000187590, http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000075545, http://www.ncbi.nlm.nih.gov/clinvar/?term=SCV000144137" diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'Source_URL') self.assertEqual(diff['field_type'], 'list') self.assertIsNone(diff['added']) self.assertIsNone(diff['removed'])
def test_diff_json_handles_no_changes_correctly(self): field = "Pathogenicity_all" prev = "Uncertain_significance,Likely_benign (BIC); Pending (ClinVar)" new = "Uncertain_significance,Likely_benign (BIC); Pending (ClinVar)" diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'Pathogenicity_all') self.assertEqual(diff['field_type'], 'list') self.assertIsNone(diff['added']) self.assertIsNone(diff['removed'])
def test_diff_json_handles_list_data_added_from_nothing_correctly(self): field = "Submitter_ClinVar" prev = "-" new = ("c/o_University_of_Cambridge,The_Consortium_of_Investigators_of_Modifiers_of_BRCA1/2_(CIMBA)," "Ambry_Genetics,Breast_Cancer_Information_Core_(BIC)_(BRCA2),Invitae") diff = releaseDiff.determineDiffForJSON(field, prev, new) self.assertEqual(diff['field'], 'Submitter_ClinVar') self.assertEqual(diff['field_type'], 'list') self.assertIn('c/o_University_of_Cambridge', diff['added']) self.assertIn('The_Consortium_of_Investigators_of_Modifiers_of_BRCA1/2_(CIMBA)', diff['added']) self.assertIn('Ambry_Genetics', diff['added']) self.assertIn('Breast_Cancer_Information_Core_(BIC)_(BRCA2)', diff['added']) self.assertIn('Invitae', diff['added']) self.assertEqual(diff['removed'], ['-'])