Пример #1
0
 def test_remove_taxon_label(self):
     taxa = [Taxon(s) for s in self.str_labels]
     tns = TaxonNamespace(taxa)
     expected = taxa[:]
     for idx, label in enumerate(set(self.str_labels)):
         tns.remove_taxon_label(label)
         for t in taxa:
             if t.label == label and t in expected:
                 expected.remove(t)
         self.assertEqual(len(tns), len(expected))
         for t1, t2 in zip(tns, expected):
             self.assertIs(t1, t2)
Пример #2
0
 def test_remove_taxon_label_case_insensitive(self):
     ucase_labels = [s.upper() for s in self.str_labels]
     assert ucase_labels
     assert ucase_labels != self.str_labels
     taxa = [Taxon(s) for s in self.str_labels]
     tns = TaxonNamespace(taxa)
     expected = taxa[:]
     for idx, label in enumerate(set(ucase_labels)):
         if label != label.lower():
             with self.assertRaises(LookupError):
                 tns.is_case_sensitive = True
                 tns.remove_taxon_label(label)
         tns.is_case_sensitive = False
         tns.remove_taxon_label(label)
         for t in taxa:
             if t.label.upper() == label.upper() and t in expected:
                 expected.remove(t)
         self.assertEqual(len(tns), len(expected))
         for t1, t2 in zip(tns, expected):
             self.assertIs(t1, t2)
Пример #3
0
 def test_remove_taxon_label_error(self):
     tns = TaxonNamespace(self.str_labels)
     key = "zzz"
     assert key not in self.str_labels
     with self.assertRaises(LookupError):
         tns.remove_taxon_label(key)