Esempio n. 1
0
 def testEquals(self):
     self.assertSame()
     self.assertDifference(num=2)
     self.assertDifference(sub=2)
     self.assertDifference(name='other')
     self.assertNotEqual(Qualifier(1, 1, 1, 'q_name', True),
                         Qualifier(1, 1, 1, 'q_name', False))
Esempio n. 2
0
    def testSelectAll(self):
        self.sess.add(Qualifier(1, 1, 1, 'q1'))
        self.sess.add(Qualifier(1, 1, 2, 'q2'))
        self.sess.add(Qualifier(1, 1, 3, 'q3'))
        self.sess.commit()

        for row in Qualifier.selectAll((1, 1)):
            if row['sub'] == 1:
                self.assertEqual(row['name'], 'q1')
            elif row['sub'] == 2:
                self.assertFalse(row[Qualifier.major.name])
            elif row['sub'] == 3:
                self.assertEqual(row['name'], 'q3')
            else:
                self.fail(str(row))
Esempio n. 3
0
    def testSelect(self):
        self.sess.add(Qualifier(1, 1, 1, 'q1'))
        self.sess.add(Qualifier(1, 1, 2, 'q2'))
        self.sess.add(Qualifier(1, 1, 3, 'q3'))
        self.sess.commit()

        for row in Qualifier.select((1, 1), ['sub', 'name']):
            if row['sub'] == 1:
                self.assertEqual(row['name'], 'q1')
            elif row[0] == 2:
                self.assertEqual(row[1], 'q2')
            elif row[0] == 3:
                self.assertEqual(row[1], 'q3')
            else:
                self.fail(str(row))
Esempio n. 4
0
 def testRelations(self):
     q = Qualifier(1, 1, 1, 'name')
     self.sess.add(q)
     self.sess.commit()
     self.assertListEqual([q], self.M.qualifiers)
     self.assertEqual(self.M, q.citation)
     self.assertEqual(self.D, q.descriptor)
Esempio n. 5
0
 def parseQualifier(self, num, sub, element):
     return Qualifier(
         self.pmid,
         num + 1,
         sub + 1,
         element.text.strip(),
         element.get('MajorTopicYN', 'N') == 'Y',
     )
Esempio n. 6
0
    def testSelectAll(self):
        self.sess.add(Qualifier(1, 1, 1, 'q1'))
        self.sess.add(Qualifier(1, 1, 2, 'q2'))
        self.sess.add(Qualifier(1, 1, 3, 'q3'))
        self.sess.commit()

        for row in Qualifier.selectAll((1, 1)):
            if row['sub'] == 1:
                self.assertEqual(row['name'], 'q1')
            elif row['sub'] == 2:
                self.assertFalse(row[Qualifier.major.name])
            elif row['sub'] == 3:
                self.assertEqual(row['name'], 'q3')
            else:
                self.fail(str(row))
Esempio n. 7
0
    def testSelect(self):
        self.sess.add(Qualifier(1, 1, 1, 'q1'))
        self.sess.add(Qualifier(1, 1, 2, 'q2'))
        self.sess.add(Qualifier(1, 1, 3, 'q3'))
        self.sess.commit()

        for row in Qualifier.select((1, 1), ['sub', 'name']):
            if row['sub'] == 1:
                self.assertEqual(row['name'], 'q1')
            elif row[0] == 2:
                self.assertEqual(row[1], 'q2')
            elif row[0] == 3:
                self.assertEqual(row[1], 'q3')
            else:
                self.fail(str(row))
Esempio n. 8
0
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):
        self.instances = instances
Esempio n. 9
0
 def testToRepr(self):
     self.assertEqual('Qualifier<1:2:3>', repr(Qualifier(1, 2, 3, 'name')))
Esempio n. 10
0
 def testToString(self):
     self.assertEqual('1\t1\t1\tT\tmajor\n',
                      str(Qualifier(1, 1, 1, 'major', True)))
     self.assertEqual('1\t1\t1\tF\tminor\n',
                      str(Qualifier(1, 1, 1, 'minor')))
Esempio n. 11
0
 def testMajorIsBool(self):
     self.sess.add(Qualifier(1, 1, 1, 'q_name', None))
     self.assertRaises(IntegrityError, self.sess.commit)
Esempio n. 12
0
 def testRequireExistingDescriptor(self):
     self.sess.add(Qualifier(1, 2, 1, 'q_name'))
     self.assertRaises(IntegrityError, self.sess.commit)