class TestReference(unittest.TestCase):

    def setUp(self):
        self.ref = Reference()

    def tearDown(self):
        pass

    def test_set_and_get_field(self):
        self.ref.set_field('random_field', 'random_value')
        self.failUnless(self.ref.get_field('random_field').value == 'random_value')

    def test_get_fields(self):
        self.ref.set_field('rf01', 'rv01')
        self.ref.set_field('rf02', 'rv02')
        self.ref.set_field('rf03', 'rv04')
        self.failUnless(len(self.ref.get_fields()) == 3)
        self.failUnless(self.ref.get_fields() == ['rf01', 'rf02', 'rf03'])

    def test_set_field_to_none(self):
        self.ref.set_field('some_field', None)
        field = self.ref.get_field('some_field')
        self.failUnless(field.valid == False)
        
    def test_set_and_get_entry(self):
        self.ref.set_entry('This is an entry')
        self.failUnless(self.ref.get_entry() == 'This is an entry')
class TestReferenceFormatter(unittest.TestCase):
    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 tearDown(self):
        pass

    def test_formatter(self):
        self.ref_formatter.format_reference(self.ref, self.format_generator)
        entry = self.ref.get_entry()
        self.failUnless(
            entry == ('@article{Lmadsen99,' + os.linesep +
                      'title = {Some article title},' + os.linesep +
                      'author = {Madsen, Lithen, Lars},' + os.linesep +
                      'year = 1999,' + os.linesep +
                      'journal = {Some journal},' + os.linesep +
                      'pages = {133--144}' + os.linesep + '}' + os.linesep))

        self.failUnless(self.ref.format == self.format_generator.format)
 def test_format_reference_different_format(self):
     ref = Reference()
     ref.set_field('reference_id', 'Lmadsen99')
     ref.set_field('title', 'Some article title')
     
     self.iec._format_reference(ref)
     
     self.failUnless(ref.get_entry().startswith('@article{Lmadsen99,'))
     self.failUnless(ref.get_format() == self.iec.format)
Beispiel #4
0
    def test_format_reference_different_format(self):
        ref = Reference()
        ref.set_field('reference_id', 'Lmadsen99')
        ref.set_field('title', 'Some article title')

        self.iec._format_reference(ref)

        self.failUnless(ref.get_entry().startswith('@article{Lmadsen99,'))
        self.failUnless(ref.get_format() == self.iec.format)
 def test_format_reference_same_format(self):
     ref = Reference(format=ReferenceFormat.BIBTEX, entry='formatted entry')
     self.iec._format_reference(ref)
     self.failUnless(ref.get_entry() == 'formatted entry')
Beispiel #6
0
 def test_format_reference_same_format(self):
     ref = Reference(format=ReferenceFormat.BIBTEX, entry='formatted entry')
     self.iec._format_reference(ref)
     self.failUnless(ref.get_entry() == 'formatted entry')