def test_get_omim(self): d1 = Omim(diseaseid=1, name='Gaucher') d2 = Omim(diseaseid=2, name='Fabry') self.assertEqual(Omim.get(1), d1) self.assertEqual(Omim.get(2), d2) self.assertEqual(Omim.get('1'), d1) self.assertRaises(ValueError, lambda: Omim.get('Fabry')) self.assertRaises(KeyError, lambda: Omim.get(12))
def test_indexing(self): def subindex_length(x): return ( len(x.keys()), len(x._indicies.keys()), ) self.assertEqual(subindex_length(Omim), (0, 0)) _ = Omim(diseaseid=1, name='Gaucher') self.assertEqual(subindex_length(Omim), (1, 1)) _ = Omim(diseaseid=2, name='Fabry') self.assertEqual(subindex_length(Omim), (2, 2)) Omim.clear() self.assertEqual(subindex_length(Omim), (0, 0))
def compare_set(diseases): gaucher = Omim([None, 230800, None]) set1 = BasicHPOSet.from_queries(gaucher.hpo) for x in diseases: set2 = BasicHPOSet.from_queries(x.hpo) _ = set1.similarity(set2) return None
def test_singleton_handling(self): d1a = Omim(diseaseid=1, name='Gaucher') # ID present, will be used d1b = Omim(diseaseid=1, name='Fabry') # No name present, ID will be used as well d1c = Omim(diseaseid=1, name=None) # New ID, new Name => New Disease d2a = Omim(diseaseid=2, name='Fabry') # ID present, Matching by ID d2b = Omim(diseaseid=2, name='Gaucher') # ID present, Matching by ID d2c = Omim(diseaseid=2, name=None) # New ID but existing name => New disease d3a = Omim(diseaseid=3, name='Gaucher') self.assertIs(d1a, d1b) self.assertIs(d1a, d1c) self.assertIsNot(d1a, d2a) self.assertIs(d2a, d2b) self.assertIs(d2a, d2c) self.assertIsNot(d1a, d3a) self.assertIsNot(d2a, d3a)
def test_json(self): g = Omim(diseaseid=1, name='Foo') self.assertEqual(g.toJSON(), {'id': 1, 'name': 'Foo'}) self.assertEqual(g.toJSON(verbose=True), { 'id': 1, 'name': 'Foo', 'hpo': set() })
def make_omim(n) -> List[pyhpo.annotations.DiseaseSingleton]: Omim.clear() return [Omim(diseaseid=i, name='Omim{}'.format(i)) for i in range(n)]
def test_string_representation(self): d = Omim(diseaseid=1, name='Foo') self.assertEqual(str(d), 'Foo')
def test_equality(self): g = Omim(diseaseid=1, name='Foo') self.assertEqual(g, 1) self.assertEqual(g, 'Foo')
def test_omim_disease_building(self): a = Omim(diseaseid=1, name='Gaucher type I') self.assertEqual(a.name, 'Gaucher type I') self.assertEqual(a.id, 1) self.assertEqual(a.hpo, set())