Blob Blame History Raw
From 03db06860010ceba5f0113bfb67d6721c4c4caa0 Mon Sep 17 00:00:00 2001
From: "Matthias C. M. Troffaes" <matthias.troffaes@gmail.com>
Date: Wed, 15 Jan 2020 16:13:50 +0000
Subject: [PATCH 2/3] Use pytest fixture instead of TestCase.

---
 test/test_backend.py         | 180 ++++++++++++++++++-----------------
 test/test_install_example.py |   5 +-
 2 files changed, 94 insertions(+), 91 deletions(-)

diff --git a/test/test_backend.py b/test/test_backend.py
index 503cdc1..b134fb4 100644
--- a/test/test_backend.py
+++ b/test/test_backend.py
@@ -6,7 +6,6 @@ import pytest
 import pybtex.plugin
 import pybtex.database
 from pybtex.richtext import HRef, Tag, Text
-from unittest import TestCase
 
 from pybtex_docutils import Backend
 import six
@@ -77,94 +76,97 @@ def test_render_sequence():
     assert render_str(text) == 'hello <emphasis>world</emphasis>'
 
 
-class TestCitation(TestCase):
-
-    def setUp(self):
-        data = pybtex.database.BibliographyData({
-            'hongquin1997': pybtex.database.Entry(
-                'article',
-                fields={
-                    'language': u'english',
-                    'title': u'Predicting the Diffusion Coefficient in Supercritical Fluids',
-                    'journal': u'Ind. Eng. Chem. Res.',
-                    'volume': u'36',
-                    'year': u'1997',
-                    'pages': u'888-895',
-                },
-                persons={'author': [
-                    pybtex.database.Person(u'Liu, Hongquin'),
-                    pybtex.database.Person(u'Ruckenstein, Eli')]},
-                )})
-        style = pybtex.plugin.find_plugin('pybtex.style.formatting', 'plain')()
-        self.backend = Backend()
-        entries = list(style.format_entries(six.itervalues(data.entries)))
-        self.entry = entries[0]
-        self.document = docutils.utils.new_document('test.rst')
-
-    def test_citation(self):
-        node = self.backend.citation(self.entry, self.document)
-        assert six.text_type(node) == (
-            u'<citation ids="hongquin1997" names="hongquin1997">'
-            u'<label>hongquin1997</label>'
-            u'<paragraph>'
-            u'Hongquin Liu and Eli Ruckenstein. '
-            u'Predicting the diffusion coefficient in supercritical fluids. '
-            u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
-            u'36:888–895, 1997.'
-            u'</paragraph>'
-            u'</citation>')
-
-    def test_citation_reference(self):
-        node = self.backend.citation_reference(self.entry, self.document)
-        assert str(node) == (
-            '<citation_reference ids="id1" refname="hongquin1997">'
-            'hongquin1997'
-            '</citation_reference>')
-
-    def test_citation_use_label(self):
-        node = self.backend.citation(
-            self.entry, self.document, use_key_as_label=False)
-        assert six.text_type(node) == (
-            u'<citation ids="hongquin1997" names="hongquin1997">'
-            u'<label>1</label>'
-            u'<paragraph>'
-            u'Hongquin Liu and Eli Ruckenstein. '
-            u'Predicting the diffusion coefficient in supercritical fluids. '
-            u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
-            u'36:888–895, 1997.'
-            u'</paragraph>'
-            u'</citation>')
-
-    def test_citation_reference_use_label(self):
-        node = self.backend.citation_reference(
-            self.entry, self.document, use_key_as_label=False)
-        assert str(node) == (
-            '<citation_reference ids="id1" refname="hongquin1997">'
-            '1'
-            '</citation_reference>')
-
-    def test_footnote(self):
-        node = self.backend.footnote(self.entry, self.document)
-        assert six.text_type(node) == (
-            u'<footnote auto="1" ids="hongquin1997" names="hongquin1997">'
-            u'<paragraph>'
-            u'Hongquin Liu and Eli Ruckenstein. '
-            u'Predicting the diffusion coefficient in supercritical fluids. '
-            u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
-            u'36:888–895, 1997.'
-            u'</paragraph>'
-            u'</footnote>')
-
-    def test_footnote_reference(self):
-        node = self.backend.footnote_reference(self.entry, self.document)
-        assert str(node) == (
-            '<footnote_reference auto="1" ids="[\'id1\']" '
-            'refname="hongquin1997"/>')
-
-    def tearDown(self):
-        del self.backend
-        del self.entry
-        del self.document
+@pytest.fixture
+def entry():
+    data = pybtex.database.BibliographyData({
+        'hongquin1997': pybtex.database.Entry(
+            'article',
+            fields={
+                'language': u'english',
+                'title': u'Predicting the Diffusion Coefficient in Supercritical Fluids',
+                'journal': u'Ind. Eng. Chem. Res.',
+                'volume': u'36',
+                'year': u'1997',
+                'pages': u'888-895',
+            },
+            persons={'author': [
+                pybtex.database.Person(u'Liu, Hongquin'),
+                pybtex.database.Person(u'Ruckenstein, Eli')]},
+            )})
+    style = pybtex.plugin.find_plugin('pybtex.style.formatting', 'plain')()
+    entries = list(style.format_entries(six.itervalues(data.entries)))
+    return entries[0]
+
+
+@pytest.fixture
+def document():
+    return docutils.utils.new_document('test.rst')
+
+
+def test_citation(entry, document):
+    node = Backend().citation(entry, document)
+    assert six.text_type(node) == (
+        u'<citation ids="hongquin1997" names="hongquin1997">'
+        u'<label>hongquin1997</label>'
+        u'<paragraph>'
+        u'Hongquin Liu and Eli Ruckenstein. '
+        u'Predicting the diffusion coefficient in supercritical fluids. '
+        u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
+        u'36:888–895, 1997.'
+        u'</paragraph>'
+        u'</citation>')
+
+
+def test_citation_reference(entry, document):
+    node = Backend().citation_reference(entry, document)
+    assert str(node) == (
+        '<citation_reference ids="id1" refname="hongquin1997">'
+        'hongquin1997'
+        '</citation_reference>')
+
+
+def test_citation_use_label(entry, document):
+    node = Backend().citation(
+        entry, document, use_key_as_label=False)
+    assert six.text_type(node) == (
+        u'<citation ids="hongquin1997" names="hongquin1997">'
+        u'<label>1</label>'
+        u'<paragraph>'
+        u'Hongquin Liu and Eli Ruckenstein. '
+        u'Predicting the diffusion coefficient in supercritical fluids. '
+        u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
+        u'36:888–895, 1997.'
+        u'</paragraph>'
+        u'</citation>')
+
+
+def test_citation_reference_use_label(entry, document):
+    node = Backend().citation_reference(
+        entry, document, use_key_as_label=False)
+    assert str(node) == (
+        '<citation_reference ids="id1" refname="hongquin1997">'
+        '1'
+        '</citation_reference>')
+
+
+def test_footnote(entry, document):
+    node = Backend().footnote(entry, document)
+    assert six.text_type(node) == (
+        u'<footnote auto="1" ids="hongquin1997" names="hongquin1997">'
+        u'<paragraph>'
+        u'Hongquin Liu and Eli Ruckenstein. '
+        u'Predicting the diffusion coefficient in supercritical fluids. '
+        u'<emphasis>Ind. Eng. Chem. Res.</emphasis>, '
+        u'36:888–895, 1997.'
+        u'</paragraph>'
+        u'</footnote>')
+
+
+def test_footnote_reference(entry, document):
+    node = Backend().footnote_reference(entry, document)
+    assert str(node) == (
+        '<footnote_reference auto="1" ids="[\'id1\']" '
+        'refname="hongquin1997"/>')
 
 
 def test_write_entry():
diff --git a/test/test_install_example.py b/test/test_install_example.py
index e4e3a3f..257a35c 100644
--- a/test/test_install_example.py
+++ b/test/test_install_example.py
@@ -5,10 +5,11 @@ expected_result = (
     u'Wiley, 2nd edition, 1985.</paragraph>'
     )
 
+
 def test_install_example():
     result = []
 
-    ### example begin ###
+    # example begin
     import six
     import pybtex.database.input.bibtex
     import pybtex.plugin
@@ -27,7 +28,7 @@ def test_install_example():
     """))
     for entry in style.format_entries(six.itervalues(data.entries)):
         print(backend.paragraph(entry))
-    ### example end ###
+    # example end
         result.append(backend.paragraph(entry))
 
     assert len(result) == 1
-- 
2.25.3