def setUp(self):
        self.ref = Reference()
        self.ref.set_field('reference_id', 'Lmadsen99')
        self.ref.set_field('author', [{
            'first_name': 'Lars',
            'last_name': 'Madsen',
            'middle_name': 'Lithen'
        }])
        self.ref.set_field('title', 'Some article title')
        self.ref.set_field('pages', '133--144')
        self.ref.set_field('journal', 'Some journal')
        self.ref.set_field('year', '1999')

        self.ref_formatter = ReferenceFormatter()
        self.format_generator = BibtexGenerator()
 def setUp(self):
     self.bg = BibtexGenerator()
     self.bg.setup_new_reference()
     self.refend = os.linesep + '}' + os.linesep
class TestBibtexGenerator(unittest.TestCase):

    def setUp(self):
        self.bg = BibtexGenerator()
        self.bg.setup_new_reference()
        self.refend = os.linesep + '}' + os.linesep
        
    def tearDown(self):
        pass

    def test_header(self):
        self.bg.generate_header()
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*',
                            self.refend])  
        self.failUnless(re.search(expected, result))
        
    def test_header_with_type_and_id(self):
        self.bg.generate_reference_type('inproceedings')
        self.bg.generate_reference_id('Sol04')
        self.failUnless(self.bg.get_generated_reference() == 
            '@inproceedings{Sol04' + self.refend)

    def test_title(self):
        self.bg.generate_title('This is a title')
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                            'title = {This is a title}',
                            self.refend])  
        self.failUnless(re.search(expected, result))

    def test_single_author(self):
        author = [split_name('Jack Jr. Brown Jovovic')]
        self.bg.generate_author(author)
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                            'author = {Jovovic, Jr. Brown, Jack}',
                            self.refend])  
        self.failUnless(re.search(expected, result))

    def test_multiple_authors(self):
        author = [split_name('Jack Jr. Brown'), split_name('von Hammer, Hans')]
        self.bg.generate_author(author)
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                            'author = {Brown, Jr., Jack and von Hammer, Hans}',
                            self.refend])  
        self.failUnless(re.search(expected, result))
        
    def test_year(self):
        self.bg.generate_year('1993')
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                             'year = 1993',
                             self.refend])  
        self.failUnless(re.search(expected, result))        

    def test_journal(self):
        self.bg.generate_journal('This is the name of a journal')
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                             'journal = {This is the name of a journal}',
                             self.refend])  
        self.failUnless(re.search(expected, result))    
 
    def test_pages(self):
        self.bg.generate_pages('33--44')
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*,', os.linesep,
                             'pages = {33--44}',
                             self.refend])  
        self.failUnless(re.search(expected, result))           
Esempio n. 4
0
 def setUp(self):
     self.bg = BibtexGenerator()
     self.bg.setup_new_reference()
     self.refend = os.linesep + '}' + os.linesep
Esempio n. 5
0
class TestBibtexGenerator(unittest.TestCase):
    def setUp(self):
        self.bg = BibtexGenerator()
        self.bg.setup_new_reference()
        self.refend = os.linesep + '}' + os.linesep

    def tearDown(self):
        pass

    def test_header(self):
        self.bg.generate_header()
        result = self.bg.get_generated_reference()
        expected = ''.join(['@article{.*', self.refend])
        self.failUnless(re.search(expected, result))

    def test_header_with_type_and_id(self):
        self.bg.generate_reference_type('inproceedings')
        self.bg.generate_reference_id('Sol04')
        self.failUnless(
            self.bg.get_generated_reference() == '@inproceedings{Sol04' +
            self.refend)

    def test_title(self):
        self.bg.generate_title('This is a title')
        result = self.bg.get_generated_reference()
        expected = ''.join([
            '@article{.*,', os.linesep, 'title = {This is a title}',
            self.refend
        ])
        self.failUnless(re.search(expected, result))

    def test_single_author(self):
        author = [split_name('Jack Jr. Brown Jovovic')]
        self.bg.generate_author(author)
        result = self.bg.get_generated_reference()
        expected = ''.join([
            '@article{.*,', os.linesep, 'author = {Jovovic, Jr. Brown, Jack}',
            self.refend
        ])
        self.failUnless(re.search(expected, result))

    def test_multiple_authors(self):
        author = [split_name('Jack Jr. Brown'), split_name('von Hammer, Hans')]
        self.bg.generate_author(author)
        result = self.bg.get_generated_reference()
        expected = ''.join([
            '@article{.*,', os.linesep,
            'author = {Brown, Jr., Jack and von Hammer, Hans}', self.refend
        ])
        self.failUnless(re.search(expected, result))

    def test_year(self):
        self.bg.generate_year('1993')
        result = self.bg.get_generated_reference()
        expected = ''.join(
            ['@article{.*,', os.linesep, 'year = 1993', self.refend])
        self.failUnless(re.search(expected, result))

    def test_journal(self):
        self.bg.generate_journal('This is the name of a journal')
        result = self.bg.get_generated_reference()
        expected = ''.join([
            '@article{.*,', os.linesep,
            'journal = {This is the name of a journal}', self.refend
        ])
        self.failUnless(re.search(expected, result))

    def test_pages(self):
        self.bg.generate_pages('33--44')
        result = self.bg.get_generated_reference()
        expected = ''.join(
            ['@article{.*,', os.linesep, 'pages = {33--44}', self.refend])
        self.failUnless(re.search(expected, result))
Esempio n. 6
0
 def create_generator(self, format):
     if format == ReferenceFormat.BIBTEX:
         return BibtexGenerator()
     else:
         raise UtilCreationError('Generator for %s is not available' 
                                 % format)