--- /dev/null
+# -*- coding: utf-8 -*-
+import unittest
+from os.path import dirname, join, realpath
+
+from librarian import dcparser
+
+
+def test_file_path(file_name):
+ return realpath(join(dirname(__file__), file_name))
+
+
+class TestDCParser(unittest.TestCase):
+ KNOWN_RESULTS = (
+ ('andersen_brzydkie_kaczatko.xml', {
+ 'publisher': u'Fundacja Nowoczesna Polska',
+ 'about': u'http://wiki.wolnepodreczniki.pl/Lektury:Andersen/Brzydkie_kaczątko',
+ 'source_name': u'Andersen, Hans Christian (1805-1875), Baśnie, Gebethner i Wolff, wyd. 7, Kraków, 1925',
+ 'author': u'Andersen, Hans Christian',
+ 'url': u'http://wolnelektury.pl/katalog/lektura/brzydkie-kaczatko',
+ 'created_at': u'2007-08-14',
+ 'title': u'Brzydkie kaczątko',
+ 'kind': u'Epika',
+ 'source_url': u'http://www.polona.pl/dlibra/doccontent2?id=3563&dirids=4',
+ 'translator': u'Niewiadomska, Cecylia',
+ 'released_to_public_domain_at': u'1925-01-01',
+ 'epoch': u'Romantyzm',
+ 'genre': u'Baśń',
+ 'technical_editor': u'Gałecki, Dariusz'
+ }),
+ ('kochanowski_piesn7.xml', {
+ 'publisher': u'Fundacja Nowoczesna Polska',
+ 'about': u'http://wiki.wolnepodreczniki.pl/Lektury:Kochanowski/Pieśni/Pieśń_VII_(1)',
+ 'source_name': u'Kochanowski, Jan (1530-1584), Dzieła polskie, tom 1, oprac. Julian Krzyżanowski, wyd. 8, Państwowy Instytut Wydawniczy, Warszawa, 1976',
+ 'author': u'Kochanowski, Jan',
+ 'url': u'http://wolnelektury.pl/katalog/lektura/piesni-ksiegi-pierwsze-piesn-vii-trudna-rada-w-tej-mierze-pr',
+ 'created_at': u'2007-08-31',
+ 'title': u'Pieśń VII (Trudna rada w tej mierze: przyjdzie się rozjechać...)',
+ 'kind': u'Liryka',
+ 'source_url': u'http://www.polona.pl/Content/1499',
+ 'released_to_public_domain_at': u'1584-01-01',
+ 'epoch': u'Renesans',
+ 'genre': u'Pieśń',
+ 'technical_editor': u'Gałecki, Dariusz'
+ }),
+ ('mickiewicz_rybka.xml', {
+ 'publisher': u'Fundacja Nowoczesna Polska',
+ 'about': 'http://wiki.wolnepodreczniki.pl/Lektury:Mickiewicz/Ballady/Rybka',
+ 'source_name': u'Mickiewicz, Adam (1798-1855), Poezje, tom 1 (Wiersze młodzieńcze - Ballady i romanse - Wiersze do r. 1824), Krakowska Spółdzielnia Wydawnicza, wyd. 2 zwiększone, Kraków, 1922',
+ 'author': u'Mickiewicz, Adam',
+ 'url': u'http://wolnelektury.pl/katalog/lektura/ballady-i-romanse-rybka',
+ 'created_at': u'2007-09-06',
+ 'title': u'Rybka',
+ 'kind': u'Liryka',
+ 'source_url': u'http://www.polona.pl/Content/2222',
+ 'released_to_public_domain_at': u'1855-01-01',
+ 'epoch': u'Romantyzm',
+ 'genre': u'Ballada',
+ 'technical_editor': u'Sutkowska, Olga'
+ }),
+ ('sofokles_antygona.xml', {
+ 'publisher': u'Fundacja Nowoczesna Polska',
+ 'about': 'http://wiki.wolnepodreczniki.pl/Lektury:Sofokles/Antygona',
+ 'source_name': u'Sofokles (496-406 a.C.), Antygona, Zakład Narodowy im. Ossolińskich, wyd. 7, Lwów, 1939',
+ 'author': u'Sofokles',
+ 'url': u'http://wolnelektury.pl/katalog/lektura/antygona',
+ 'created_at': u'2007-08-30',
+ 'title': u'Antygona',
+ 'kind': u'Dramat',
+ 'source_url': u'http://www.polona.pl/Content/3768',
+ 'translator': u'Morawski, Kazimierz',
+ 'released_to_public_domain_at': u'1925-01-01',
+ 'epoch': u'Starożytność',
+ 'genre': u'Tragedia',
+ 'technical_editor': u'Gałecki, Dariusz'
+ }),
+ )
+
+ def test_parse(self):
+ for file_name, result in self.KNOWN_RESULTS:
+ self.assertEqual(dcparser.parse(test_file_path(file_name)).to_dict(), result)
+
+
+if __name__ == '__main__':
+ unittest.main()
\ No newline at end of file
--- /dev/null
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/Lektury:Andersen/Brzydkie_kaczątko">
+ <dc:creator xml:lang="pl">Andersen, Hans Christian</dc:creator>
+ <dc:title xml:lang="pl">Brzydkie kaczątko</dc:title>
+ <dc:contributor.translator xml:lang="pl">Niewiadomska, Cecylia</dc:contributor.translator>
+ <dc:contributor.technical_editor xml:lang="pl">Gałecki, Dariusz</dc:contributor.technical_editor>
+ <dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+ <dc:subject.period xml:lang="pl">Romantyzm</dc:subject.period>
+ <dc:subject.type xml:lang="pl">Epika</dc:subject.type>
+ <dc:subject.genre xml:lang="pl">Baśń</dc:subject.genre>
+ <dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
+ <dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/brzydkie-kaczatko</dc:identifier.url>
+ <dc:source.URL xml:lang="pl">http://www.polona.pl/dlibra/doccontent2?id=3563&dirids=4</dc:source.URL>
+ <dc:source xml:lang="pl">Andersen, Hans Christian (1805-1875), Baśnie, Gebethner i Wolff, wyd. 7, Kraków, 1925</dc:source>
+ <dc:rights xml:lang="pl">Domena publiczna - tłumacz Cecylia Niewiadomska zm. 1925</dc:rights>
+ <dc:date.pd xml:lang="pl">1925</dc:date.pd>
+ <dc:format xml:lang="pl">xml</dc:format>
+ <dc:type xml:lang="pl">text</dc:type>
+ <dc:type xml:lang="en">text</dc:type>
+ <dc:date xml:lang="pl">2007-08-14</dc:date>
+ <dc:audience xml:lang="pl">SP1</dc:audience>
+ <dc:language xml:lang="pl">pol</dc:language>
+ </rdf:Description>
+</rdf:RDF>
\ No newline at end of file
--- /dev/null
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/Lektury:Kochanowski/Pieśni/Pieśń_VII_(1)">
+ <dc:creator xml:lang="pl">Kochanowski, Jan</dc:creator>
+ <dc:title xml:lang="pl">Pieśń VII (Trudna rada w tej mierze: przyjdzie się rozjechać...)</dc:title>
+ <dc:relation.isPartOf xml:lang="pl">http://www.wolnelektury.pl/lektura/piesni-ksiegi-pierwsze</dc:relation.isPartOf>
+ <dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
+ <dc:contributor.editor xml:lang="pl">Krzyżanowski, Julian</dc:contributor.editor>
+ <dc:contributor.editor xml:lang="pl">Otwinowska, Barbara</dc:contributor.editor>
+ <dc:contributor.technical_editor xml:lang="pl">Gałecki, Dariusz</dc:contributor.technical_editor>
+ <dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+ <dc:subject.period xml:lang="pl">Renesans</dc:subject.period>
+ <dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
+ <dc:subject.genre xml:lang="pl">Pieśń</dc:subject.genre>
+ <dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
+ <dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/piesni-ksiegi-pierwsze-piesn-vii-trudna-rada-w-tej-mierze-pr</dc:identifier.url>
+ <dc:source.URL xml:lang="pl">http://www.polona.pl/Content/1499</dc:source.URL>
+ <dc:source xml:lang="pl">Kochanowski, Jan (1530-1584), Dzieła polskie, tom 1, oprac. Julian Krzyżanowski, wyd. 8, Państwowy Instytut Wydawniczy, Warszawa, 1976</dc:source>
+ <dc:rights xml:lang="pl">Domena publiczna - Jan Kochanowski zm. 1584 </dc:rights>
+ <dc:date.pd xml:lang="pl">1584</dc:date.pd>
+ <dc:format xml:lang="pl">xml</dc:format>
+ <dc:type xml:lang="pl">text</dc:type>
+ <dc:type xml:lang="en">text</dc:type>
+ <dc:date xml:lang="pl">2007-08-31</dc:date>
+ <dc:audience xml:lang="pl">L</dc:audience>
+ <dc:language xml:lang="pl">pol</dc:language>
+ </rdf:Description>
+</rdf:RDF>
\ No newline at end of file
--- /dev/null
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/Lektury:Mickiewicz/Ballady/Rybka">
+ <dc:creator xml:lang="pl">Mickiewicz, Adam</dc:creator>
+ <dc:title xml:lang="pl">Rybka</dc:title>
+ <dc:relation.isPartOf xml:lang="pl">http://www.wolnelektury.pl/lektura/ballady-i-romanse</dc:relation.isPartOf>
+ <dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
+ <dc:contributor.editor xml:lang="pl">Kallenbach, Józef</dc:contributor.editor>
+ <dc:contributor.technical_editor xml:lang="pl">Sutkowska, Olga</dc:contributor.technical_editor>
+ <dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+ <dc:subject.period xml:lang="pl">Romantyzm</dc:subject.period>
+ <dc:subject.type xml:lang="pl">Liryka</dc:subject.type>
+ <dc:subject.genre xml:lang="pl">Ballada</dc:subject.genre>
+ <dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
+ <dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/ballady-i-romanse-rybka</dc:identifier.url>
+ <dc:source.URL xml:lang="pl">http://www.polona.pl/Content/2222</dc:source.URL>
+ <dc:source xml:lang="pl">Mickiewicz, Adam (1798-1855), Poezje, tom 1 (Wiersze młodzieńcze - Ballady i romanse - Wiersze do r. 1824), Krakowska Spółdzielnia Wydawnicza, wyd. 2 zwiększone, Kraków, 1922</dc:source>
+ <dc:rights xml:lang="pl">Domena publiczna - Adam Mickiewicz zm. 1855</dc:rights>
+ <dc:date.pd xml:lang="pl">1855</dc:date.pd>
+ <dc:format xml:lang="pl">xml</dc:format>
+ <dc:type xml:lang="pl">text</dc:type>
+ <dc:type xml:lang="en">text</dc:type>
+ <dc:date xml:lang="pl">2007-09-06</dc:date>
+ <dc:audience xml:lang="pl">SP2</dc:audience>
+ <dc:audience xml:lang="pl">G</dc:audience>
+ <dc:audience xml:lang="pl">L</dc:audience>
+ <dc:language xml:lang="pl">pol</dc:language>
+ </rdf:Description>
+</rdf:RDF>
\ No newline at end of file
--- /dev/null
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rdf:Description rdf:about="http://wiki.wolnepodreczniki.pl/Lektury:Sofokles/Antygona">
+ <dc:creator xml:lang="pl">Sofokles</dc:creator>
+ <dc:title xml:lang="pl">Antygona</dc:title>
+ <dc:contributor.editor xml:lang="pl">Sekuła, Aleksandra</dc:contributor.editor>
+ <dc:contributor.translator xml:lang="pl">Morawski, Kazimierz</dc:contributor.translator>
+ <dc:contributor.technical_editor xml:lang="pl">Gałecki, Dariusz</dc:contributor.technical_editor>
+ <dc:publisher xml:lang="pl">Fundacja Nowoczesna Polska</dc:publisher>
+ <dc:subject.period xml:lang="pl">Starożytność</dc:subject.period>
+ <dc:subject.type xml:lang="pl">Dramat</dc:subject.type>
+ <dc:subject.genre xml:lang="pl">Tragedia</dc:subject.genre>
+ <dc:description xml:lang="pl">Publikacja zrealizowana w ramach projektu Wolne Lektury (http://wolnelektury.pl). Reprodukcja cyfrowa wykonana przez Bibliotekę Narodową z egzemplarza pochodzącego ze zbiorów BN.</dc:description>
+ <dc:identifier.url xml:lang="pl">http://wolnelektury.pl/katalog/lektura/antygona</dc:identifier.url>
+ <dc:source.URL xml:lang="pl">http://www.polona.pl/Content/3768</dc:source.URL>
+ <dc:source xml:lang="pl">Sofokles (496-406 a.C.), Antygona, Zakład Narodowy im. Ossolińskich, wyd. 7, Lwów, 1939</dc:source>
+ <dc:rights xml:lang="pl">Domena publiczna - tłumacz Kazimierz Morawski zm. 1925</dc:rights>
+ <dc:date.pd xml:lang="pl">1925</dc:date.pd>
+ <dc:format xml:lang="pl">xml</dc:format>
+ <dc:type xml:lang="pl">text</dc:type>
+ <dc:type xml:lang="en">text</dc:type>
+ <dc:date xml:lang="pl">2007-08-30</dc:date>
+ <dc:audience xml:lang="pl">G</dc:audience>
+ <dc:language xml:lang="pl">pol</dc:language>
+ </rdf:Description>
+</rdf:RDF>
\ No newline at end of file