File nose_to_unittest.patch of Package python-pyparsing

--- a/examples/test_bibparse.py
+++ b/examples/test_bibparse.py
@@ -1,191 +1,192 @@
 """ Test for bibparse grammar """
 
+import unittest
 from pyparsing import ParseException
 from .btpyparse import Macro
 from . import btpyparse as bp
 
-from nose.tools import assert_equal, assert_raises
 
 
-def test_names():
-    # check various types of names
-    # All names can contains alphas, but not some special chars
-    bad_chars = '"#%\'(),={}'
-    for name_type, dig1f in ((bp.macro_def, False),
-                             (bp.field_name, False),
-                             (bp.entry_type, False),
-                             (bp.cite_key, True)):
-        if dig1f: # can start with digit
-            assert_equal(name_type.parseString('2t')[0], '2t')
-        else:
-            assert_raises(ParseException, name_type.parseString, '2t')
-        # All of the names cannot contain some characters
+class TestBibParse(unittest.TestCase):
+    def test_names(self):
+        # check various types of names
+        # All names can contains alphas, but not some special chars
+        bad_chars = '"#%\'(),={}'
+        for name_type, dig1f in ((bp.macro_def, False),
+                                 (bp.field_name, False),
+                                 (bp.entry_type, False),
+                                 (bp.cite_key, True)):
+            if dig1f: # can start with digit
+                self.assertEqual(name_type.parseString('2t')[0], '2t')
+            else:
+                self.assertRaises(ParseException, name_type.parseString, '2t')
+            # All of the names cannot contain some characters
+            for char in bad_chars:
+                self.assertRaises(ParseException, name_type.parseString, char)
+            # standard strings all OK
+            self.assertEqual(name_type.parseString('simple_test')[0], 'simple_test')
+        # Test macro ref
+        mr = bp.macro_ref
+        # can't start with digit
+        self.assertRaises(ParseException, mr.parseString, '2t')
         for char in bad_chars:
-            assert_raises(ParseException, name_type.parseString, char)
-        # standard strings all OK
-        assert_equal(name_type.parseString('simple_test')[0], 'simple_test')
-    # Test macro ref
-    mr = bp.macro_ref
-    # can't start with digit
-    assert_raises(ParseException, mr.parseString, '2t')
-    for char in bad_chars:
-        assert_raises(ParseException, mr.parseString, char)
-    assert_equal(mr.parseString('simple_test')[0].name, 'simple_test')
-
-
-def test_numbers():
-    assert_equal(bp.number.parseString('1066')[0], '1066')
-    assert_equal(bp.number.parseString('0')[0], '0')
-    assert_raises(ParseException, bp.number.parseString, '-4')
-    assert_raises(ParseException, bp.number.parseString, '+4')
-    assert_raises(ParseException, bp.number.parseString, '.4')
-    # something point something leaves a trailing .4 unmatched
-    assert_equal(bp.number.parseString('0.4')[0], '0')
-
-
-def test_parse_string():
-    # test string building blocks
-    assert_equal(bp.chars_no_quotecurly.parseString('x')[0], 'x')
-    assert_equal(bp.chars_no_quotecurly.parseString("a string")[0], 'a string')
-    assert_equal(bp.chars_no_quotecurly.parseString('a "string')[0], 'a ')
-    assert_equal(bp.chars_no_curly.parseString('x')[0], 'x')
-    assert_equal(bp.chars_no_curly.parseString("a string")[0], 'a string')
-    assert_equal(bp.chars_no_curly.parseString('a {string')[0], 'a ')
-    assert_equal(bp.chars_no_curly.parseString('a }string')[0], 'a ')
-    # test more general strings together
-    for obj in (bp.curly_string, bp.string, bp.field_value):
-        assert_equal(obj.parseString('{}').asList(), [])
-        assert_equal(obj.parseString('{a "string}')[0], 'a "string')
-        assert_equal(obj.parseString('{a {nested} string}').asList(),
-                    ['a ', ['nested'], ' string'])
-        assert_equal(obj.parseString('{a {double {nested}} string}').asList(),
-                    ['a ', ['double ', ['nested']], ' string'])
-    for obj in (bp.quoted_string, bp.string, bp.field_value):
-        assert_equal(obj.parseString('""').asList(), [])
-        assert_equal(obj.parseString('"a string"')[0], 'a string')
-        assert_equal(obj.parseString('"a {nested} string"').asList(),
-                    ['a ', ['nested'], ' string'])
-        assert_equal(obj.parseString('"a {double {nested}} string"').asList(),
-                    ['a ', ['double ', ['nested']], ' string'])
-    # check macro def in string
-    assert_equal(bp.string.parseString('someascii')[0], Macro('someascii'))
-    assert_raises(ParseException, bp.string.parseString, '%#= validstring')
-    # check number in string
-    assert_equal(bp.string.parseString('1994')[0], '1994')
-
-
-def test_parse_field():
-    # test field value - hashes included
-    fv = bp.field_value
-    # Macro
-    assert_equal(fv.parseString('aname')[0], Macro('aname'))
-    assert_equal(fv.parseString('ANAME')[0], Macro('aname'))
-    # String and macro
-    assert_equal(fv.parseString('aname # "some string"').asList(),
-                 [Macro('aname'), 'some string'])
-    # Nested string
-    assert_equal(fv.parseString('aname # {some {string}}').asList(),
-                 [Macro('aname'), 'some ', ['string']])
-    # String and number
-    assert_equal(fv.parseString('"a string" # 1994').asList(),
-                 ['a string', '1994'])
-    # String and number and macro
-    assert_equal(fv.parseString('"a string" # 1994 # a_macro').asList(),
-                 ['a string', '1994', Macro('a_macro')])
-
-
-def test_comments():
-    res = bp.comment.parseString('@Comment{about something}')
-    assert_equal(res.asList(), ['comment', '{about something}'])
-    assert_equal(
-        bp.comment.parseString('@COMMENT{about something').asList(),
-        ['comment', '{about something'])
-    assert_equal(
-        bp.comment.parseString('@comment(about something').asList(),
-        ['comment', '(about something'])
-    assert_equal(
-        bp.comment.parseString('@COMment about something').asList(),
-        ['comment', ' about something'])
-    assert_raises(ParseException, bp.comment.parseString,
-                  '@commentabout something')
-    assert_raises(ParseException, bp.comment.parseString,
-                  '@comment+about something')
-    assert_raises(ParseException, bp.comment.parseString,
-                  '@comment"about something')
-
-
-def test_preamble():
-    res = bp.preamble.parseString('@preamble{"about something"}')
-    assert_equal(res.asList(), ['preamble', 'about something'])
-    assert_equal(bp.preamble.parseString(
-        '@PREamble{{about something}}').asList(),
-        ['preamble', 'about something'])
-    assert_equal(bp.preamble.parseString("""@PREamble{
-        {about something}
-    }""").asList(),
-        ['preamble', 'about something'])
-
-
-def test_macro():
-    res = bp.macro.parseString('@string{ANAME = "about something"}')
-    assert_equal(res.asList(), ['string', 'aname', 'about something'])
-    assert_equal(
-        bp.macro.parseString('@string{aname = {about something}}').asList(),
-        ['string', 'aname', 'about something'])
-
-
-def test_entry():
-    txt = """@some_entry{akey, aname = "about something",
-    another={something else}}"""
-    res = bp.entry.parseString(txt)
-    assert_equal(res.asList(),
-                 ['some_entry', 'akey',
-                  ['aname', 'about something'], ['another', 'something else']])
-    # Case conversion
-    txt = """@SOME_ENTRY{akey, ANAME = "about something",
-    another={something else}}"""
-    res = bp.entry.parseString(txt)
-    assert_equal(res.asList(),
-                 ['some_entry', 'akey',
-                  ['aname', 'about something'], ['another', 'something else']])
-
-
-def test_bibfile():
-    txt = """@some_entry{akey, aname = "about something",
-    another={something else}}"""
-    res = bp.bibfile.parseString(txt)
-    assert_equal(res.asList(),
-                 [['some_entry', 'akey',
-                   ['aname', 'about something'],
-                   ['another', 'something else']]])
-
-
-def test_bib1():
-    # First pass whole bib-like tests
-    txt = """
-Some introductory text
-(implicit comment)
-
-    @ARTICLE{Brett2002marsbar,
-  author = {Matthew Brett and Jean-Luc Anton and Romain Valabregue and Jean-Baptise
-            Poline},
-  title = {{Region of interest analysis using an SPM toolbox}},
-  journal = {Neuroimage},
-  year = {2002},
-  volume = {16},
-  pages = {1140--1141},
-  number = {2}
-}
-
-@some_entry{akey, aname = "about something",
-another={something else}}
-"""
-    res = bp.bibfile.parseString(txt)
-    assert_equal(len(res), 3)
-    res2 = bp.parse_str(txt)
-    assert_equal(res.asList(), res2.asList())
-    res3 = [r.asList()[0] for r, start, end in bp.definitions.scanString(txt)]
-    assert_equal(res.asList(), res3)
+            self.assertRaises(ParseException, mr.parseString, char)
+        self.assertEqual(mr.parseString('simple_test')[0].name, 'simple_test')
+
+
+    def test_numbers(self):
+        self.assertEqual(bp.number.parseString('1066')[0], '1066')
+        self.assertEqual(bp.number.parseString('0')[0], '0')
+        self.assertRaises(ParseException, bp.number.parseString, '-4')
+        self.assertRaises(ParseException, bp.number.parseString, '+4')
+        self.assertRaises(ParseException, bp.number.parseString, '.4')
+        # something point something leaves a trailing .4 unmatched
+        self.assertEqual(bp.number.parseString('0.4')[0], '0')
+
+
+    def test_parse_string(self):
+        # test string building blocks
+        self.assertEqual(bp.chars_no_quotecurly.parseString('x')[0], 'x')
+        self.assertEqual(bp.chars_no_quotecurly.parseString("a string")[0], 'a string')
+        self.assertEqual(bp.chars_no_quotecurly.parseString('a "string')[0], 'a ')
+        self.assertEqual(bp.chars_no_curly.parseString('x')[0], 'x')
+        self.assertEqual(bp.chars_no_curly.parseString("a string")[0], 'a string')
+        self.assertEqual(bp.chars_no_curly.parseString('a {string')[0], 'a ')
+        self.assertEqual(bp.chars_no_curly.parseString('a }string')[0], 'a ')
+        # test more general strings together
+        for obj in (bp.curly_string, bp.string, bp.field_value):
+            self.assertEqual(obj.parseString('{}').asList(), [])
+            self.assertEqual(obj.parseString('{a "string}')[0], 'a "string')
+            self.assertEqual(obj.parseString('{a {nested} string}').asList(),
+                        ['a ', ['nested'], ' string'])
+            self.assertEqual(obj.parseString('{a {double {nested}} string}').asList(),
+                        ['a ', ['double ', ['nested']], ' string'])
+        for obj in (bp.quoted_string, bp.string, bp.field_value):
+            self.assertEqual(obj.parseString('""').asList(), [])
+            self.assertEqual(obj.parseString('"a string"')[0], 'a string')
+            self.assertEqual(obj.parseString('"a {nested} string"').asList(),
+                        ['a ', ['nested'], ' string'])
+            self.assertEqual(obj.parseString('"a {double {nested}} string"').asList(),
+                        ['a ', ['double ', ['nested']], ' string'])
+        # check macro def in string
+        self.assertEqual(bp.string.parseString('someascii')[0], Macro('someascii'))
+        self.assertRaises(ParseException, bp.string.parseString, '%#= validstring')
+        # check number in string
+        self.assertEqual(bp.string.parseString('1994')[0], '1994')
+
+
+    def test_parse_field(self):
+        # test field value - hashes included
+        fv = bp.field_value
+        # Macro
+        self.assertEqual(fv.parseString('aname')[0], Macro('aname'))
+        self.assertEqual(fv.parseString('ANAME')[0], Macro('aname'))
+        # String and macro
+        self.assertEqual(fv.parseString('aname # "some string"').asList(),
+                     [Macro('aname'), 'some string'])
+        # Nested string
+        self.assertEqual(fv.parseString('aname # {some {string}}').asList(),
+                     [Macro('aname'), 'some ', ['string']])
+        # String and number
+        self.assertEqual(fv.parseString('"a string" # 1994').asList(),
+                     ['a string', '1994'])
+        # String and number and macro
+        self.assertEqual(fv.parseString('"a string" # 1994 # a_macro').asList(),
+                     ['a string', '1994', Macro('a_macro')])
+
+
+    def test_comments(self):
+        res = bp.comment.parseString('@Comment{about something}')
+        self.assertEqual(res.asList(), ['comment', '{about something}'])
+        self.assertEqual(
+            bp.comment.parseString('@COMMENT{about something').asList(),
+            ['comment', '{about something'])
+        self.assertEqual(
+            bp.comment.parseString('@comment(about something').asList(),
+            ['comment', '(about something'])
+        self.assertEqual(
+            bp.comment.parseString('@COMment about something').asList(),
+            ['comment', ' about something'])
+        self.assertRaises(ParseException, bp.comment.parseString,
+                      '@commentabout something')
+        self.assertRaises(ParseException, bp.comment.parseString,
+                      '@comment+about something')
+        self.assertRaises(ParseException, bp.comment.parseString,
+                      '@comment"about something')
+
+
+    def test_preamble(self):
+        res = bp.preamble.parseString('@preamble{"about something"}')
+        self.assertEqual(res.asList(), ['preamble', 'about something'])
+        self.assertEqual(bp.preamble.parseString(
+            '@PREamble{{about something}}').asList(),
+            ['preamble', 'about something'])
+        self.assertEqual(bp.preamble.parseString("""@PREamble{
+            {about something}
+        }""").asList(),
+            ['preamble', 'about something'])
+
+
+    def test_macro(self):
+        res = bp.macro.parseString('@string{ANAME = "about something"}')
+        self.assertEqual(res.asList(), ['string', 'aname', 'about something'])
+        self.assertEqual(
+            bp.macro.parseString('@string{aname = {about something}}').asList(),
+            ['string', 'aname', 'about something'])
+
+
+    def test_entry(self):
+        txt = """@some_entry{akey, aname = "about something",
+        another={something else}}"""
+        res = bp.entry.parseString(txt)
+        self.assertEqual(res.asList(),
+                     ['some_entry', 'akey',
+                      ['aname', 'about something'], ['another', 'something else']])
+        # Case conversion
+        txt = """@SOME_ENTRY{akey, ANAME = "about something",
+        another={something else}}"""
+        res = bp.entry.parseString(txt)
+        self.assertEqual(res.asList(),
+                     ['some_entry', 'akey',
+                      ['aname', 'about something'], ['another', 'something else']])
+
+
+    def test_bibfile(self):
+        txt = """@some_entry{akey, aname = "about something",
+        another={something else}}"""
+        res = bp.bibfile.parseString(txt)
+        self.assertEqual(res.asList(),
+                     [['some_entry', 'akey',
+                       ['aname', 'about something'],
+                       ['another', 'something else']]])
+
+
+    def test_bib1(self):
+        # First pass whole bib-like tests
+        txt = """
+    Some introductory text
+    (implicit comment)
+
+        @ARTICLE{Brett2002marsbar,
+      author = {Matthew Brett and Jean-Luc Anton and Romain Valabregue and Jean-Baptise
+                Poline},
+      title = {{Region of interest analysis using an SPM toolbox}},
+      journal = {Neuroimage},
+      year = {2002},
+      volume = {16},
+      pages = {1140--1141},
+      number = {2}
+    }
+
+    @some_entry{akey, aname = "about something",
+    another={something else}}
+    """
+        res = bp.bibfile.parseString(txt)
+        self.assertEqual(len(res), 3)
+        res2 = bp.parse_str(txt)
+        self.assertEqual(res.asList(), res2.asList())
+        res3 = [r.asList()[0] for r, start, end in bp.definitions.scanString(txt)]
+        self.assertEqual(res.asList(), res3)
 
 
 if __name__ == '__main__':