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))
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))
def create_generator(self, format): if format == ReferenceFormat.BIBTEX: return BibtexGenerator() else: raise UtilCreationError('Generator for %s is not available' % format)