def testSelect(self): self.sess.add(Descriptor(1, 1, 'd1')) self.sess.add(Descriptor(1, 2, 'd2')) self.sess.add(Descriptor(1, 3, 'd3')) self.sess.commit() for row in Descriptor.select(1, ['num', 'name']): if row['num'] == 1: self.assertEqual(row['name'], 'd1') elif row[0] == 2: self.assertEqual(row[1], 'd2') elif row[0] == 3: self.assertEqual(row[1], 'd3') else: self.fail(str(row))
def parseDescriptor(self, num, element): return Descriptor( self.pmid, num + 1, element.text.strip(), element.get('MajorTopicYN', 'N') == 'Y', )
def testSelectAll(self): self.sess.add(Descriptor(1, 1, 'd1')) self.sess.add(Descriptor(1, 2, 'd2')) self.sess.add(Descriptor(1, 3, 'd3')) self.sess.commit() for row in Descriptor.selectAll(1): if row['num'] == 1: self.assertEqual(row['name'], 'd1') elif row['num'] == 2: # noinspection PyUnresolvedReferences self.assertFalse(row[Descriptor.major.name]) elif row['num'] == 3: self.assertEqual(row['name'], 'd3') else: self.fail(str(row))
def setUp(self): InitDb(URI, module=dbapi2) self.sess = Session() self.M = DefaultCitation() self.sess.add(self.M) self.D = Descriptor(1, 1, 'd_name', True) self.sess.add(self.D) self.klass = Qualifier self.entity = namedtuple('Qualifier', 'pmid num sub name') self.defaults = self.entity(1, 1, 1, 'name')
def setUp(self): InitDb(URI, module=dbapi2) self.sess = Session() self.M = Medline(1, 'MEDLINE', 'Journal', 'PubDate', date.today()) self.sess.add(self.M) self.D = Descriptor(1, 1, 'd_name', True) self.sess.add(self.D) self.klass = Qualifier self.entity = namedtuple('Qualifier', 'pmid num sub name') self.defaults = self.entity(1, 1, 1, 'name')
import unittest from collections import defaultdict from datetime import date from io import StringIO from tempfile import TemporaryFile from medic.orm import Medline, Section, Author, Descriptor, Qualifier, Database, Identifier, \ Chemical, Keyword, PublicationType from medic.crud import _dump DATA = [ Section(1, 1, 'Title', 'The Title'), Section(1, 2, 'Abstract', 'The Abstract'), Descriptor(1, 1, 'd_name', True), Descriptor(1, 2, 'd_name'), Qualifier(1, 1, 1, 'q_name', True), Author(1, 1, 'first'), Author(1, 2, 'last'), Identifier(1, 'ns', 'id'), Database(1, 'name', 'accession'), PublicationType(1, 'some'), PublicationType(1, 'another'), Chemical(1, 1, 'name', 'uid'), Keyword(1, 'NOTNLM', 1, 'name', True), Medline(1, 'MEDLINE', 'journal', 'pub_date', date.today()), ] class ParserMock: def __init__(self, instances):
def testRelations(self): d = Descriptor(1, 1, 'name') self.sess.add(d) self.sess.commit() self.assertListEqual([d], self.M.descriptors) self.assertEqual(self.M, d.citation)
def testToRepr(self): self.assertEqual('Descriptor<1:2>', repr(Descriptor(1, 2, 'name')))
def testToString(self): self.assertEqual('1\t1\tT\tmajor\n', str(Descriptor(1, 1, 'major', True))) self.assertEqual('1\t1\tF\tminor\n', str(Descriptor(1, 1, 'minor')))
def testMajorIsBool(self): self.sess.add(Descriptor(1, 1, 'd_name', None)) self.assertRaises(IntegrityError, self.sess.commit)
def testRequireExistingPmid(self): self.sess.add(Descriptor(2, 1, 'd_name')) self.assertRaises(IntegrityError, self.sess.commit)
def testEquals(self): self.assertSame() self.assertDifference(name='other') self.assertDifference(num=2) self.assertNotEqual(Descriptor(1, 1, 'd_name', True), Descriptor(1, 1, 'd_name', False))