Dodanie testów regresji do modułu dcparser w bibliotece librarian.
authorMarek Stępniowski <marek@stepniowski.com>
Wed, 24 Jun 2009 17:25:09 +0000 (19:25 +0200)
committerMarek Stępniowski <marek@stepniowski.com>
Wed, 24 Jun 2009 17:25:09 +0000 (19:25 +0200)
lib/librarian/tests/__init__.py [new file with mode: 0644]
lib/librarian/tests/andersen_brzydkie_kaczatko.xml [new file with mode: 0644]
lib/librarian/tests/kochanowski_piesn7.xml [new file with mode: 0644]
lib/librarian/tests/mickiewicz_rybka.xml [new file with mode: 0644]
lib/librarian/tests/sofokles_antygona.xml [new file with mode: 0644]

diff --git a/lib/librarian/tests/__init__.py b/lib/librarian/tests/__init__.py
new file mode 100644 (file)
index 0000000..ca4d95f
--- /dev/null
@@ -0,0 +1,84 @@
+# -*- 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
diff --git a/lib/librarian/tests/andersen_brzydkie_kaczatko.xml b/lib/librarian/tests/andersen_brzydkie_kaczatko.xml
new file mode 100644 (file)
index 0000000..d653a9b
--- /dev/null
@@ -0,0 +1,24 @@
+<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&amp;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
diff --git a/lib/librarian/tests/kochanowski_piesn7.xml b/lib/librarian/tests/kochanowski_piesn7.xml
new file mode 100644 (file)
index 0000000..96be1ae
--- /dev/null
@@ -0,0 +1,27 @@
+<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
diff --git a/lib/librarian/tests/mickiewicz_rybka.xml b/lib/librarian/tests/mickiewicz_rybka.xml
new file mode 100644 (file)
index 0000000..0796a5b
--- /dev/null
@@ -0,0 +1,28 @@
+<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
diff --git a/lib/librarian/tests/sofokles_antygona.xml b/lib/librarian/tests/sofokles_antygona.xml
new file mode 100644 (file)
index 0000000..4acb2d4
--- /dev/null
@@ -0,0 +1,25 @@
+<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