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