mirror of https://github.com/patacrep/patacrep.git
Louis
9 years ago
1 changed files with 50 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||
"""Tests of author parsing.""" |
|||
|
|||
# pylint: disable=too-few-public-methods |
|||
|
|||
import re |
|||
import unittest |
|||
|
|||
from patacrep import authors |
|||
|
|||
SPLIT_AUTHORS_DATA = [ |
|||
("Edgar Allan Poe", ("Poe", "Edgar Allan")), |
|||
("Richard M. Stallman", ("Stallman", "Richard M.")), |
|||
("Georges Brassens", ("Brassens", "Georges")), |
|||
("The Who", ("Who", "The")), |
|||
("Cher", ("Cher", "")), |
|||
] |
|||
|
|||
PROCESS_AUTHORS_DATA = [ |
|||
( |
|||
"Lyrics by William Blake (from Milton, 1808), music by Hubert Parry (1916), and sung by The Royal\ Choir~of~FooBar (just here to show you how processing is done)", |
|||
[ |
|||
("Blake", "William"), |
|||
("Parry", "Hubert"), |
|||
("Royal\ Choir~of~FooBar", "The"), |
|||
] |
|||
), |
|||
] |
|||
|
|||
class TestAutors(unittest.TestCase): |
|||
"""Test of author parsing.""" |
|||
|
|||
def test_split_author_names(self): |
|||
for argument, expected in SPLIT_AUTHORS_DATA: |
|||
with self.subTest(argument=argument, expected=expected): |
|||
self.assertEqual(authors.split_author_names(argument), expected) |
|||
|
|||
def test_processauthors(self): |
|||
for argument, expected in PROCESS_AUTHORS_DATA: |
|||
with self.subTest(argument=argument, expected=expected): |
|||
self.assertEqual( |
|||
authors.processauthors( |
|||
argument, |
|||
**authors.compile_authwords({ |
|||
"after": ["by"], |
|||
"ignore": ["anonymous"], |
|||
"sep": ['and'], |
|||
}) |
|||
), |
|||
expected |
|||
) |
Loading…
Reference in new issue