コード例 #1
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
    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))
コード例 #2
0
ファイル: parser.py プロジェクト: phankiewicz/medic
 def parseDescriptor(self, num, element):
     return Descriptor(
         self.pmid,
         num + 1,
         element.text.strip(),
         element.get('MajorTopicYN', 'N') == 'Y',
     )
コード例 #3
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
    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))
コード例 #4
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 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')
コード例 #5
0
ファイル: orm_test.py プロジェクト: dsjl4506/medic
 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')
コード例 #6
0
ファイル: orm_test.py プロジェクト: dsjl4506/medic
    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))
コード例 #7
0
ファイル: orm_test.py プロジェクト: dsjl4506/medic
    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))
コード例 #8
0
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):
コード例 #9
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 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)
コード例 #10
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 def testToRepr(self):
     self.assertEqual('Descriptor<1:2>', repr(Descriptor(1, 2, 'name')))
コード例 #11
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 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')))
コード例 #12
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 def testMajorIsBool(self):
     self.sess.add(Descriptor(1, 1, 'd_name', None))
     self.assertRaises(IntegrityError, self.sess.commit)
コード例 #13
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 def testRequireExistingPmid(self):
     self.sess.add(Descriptor(2, 1, 'd_name'))
     self.assertRaises(IntegrityError, self.sess.commit)
コード例 #14
0
ファイル: orm_test.py プロジェクト: phankiewicz/medic
 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))