def test_albums(self): html = file(os.path.join(base, 'recent_albums.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:40', data['meta']['edited_date']) self.assertEqual(u'albums', data['section']) self.assertTrue(up[0]['deleted']) self.assertTrue(up[1]['deleted']) self.assertEqual(u'deleted', up[0]['edit']) self.assertEqual(u'Deleted/Inactive Album', up[0]['titles']['en']) self.assertEqual(u'rejected', up[1]['edit']) self.assertEqual(u'東方人 -TOHO BEAT-', up[1]['titles']['ja']) self.assertEqual(u'new', up[5]['edit']) self.assertTrue(u'new' in up[5]) self.assertFalse(u'catalog' in up[0]) self.assertEqual(u'N/A', up[2]['catalog']) self.assertEqual(u'album/42368', up[2]['link']) self.assertEqual(u'2013-08-12', up[2]['release_date']) self.assertEqual(u'bonus', up[2]['type']) self.assertEqual(u'Enclosure/Promo', up[2]['category']) self.assertEqual(u'Efendija', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=10807', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:40', up[0]['date'])
def test_labels(self): html = file(os.path.join(base, 'recent_labels.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T10:57', data['meta']['edited_date']) self.assertEqual(u'labels', data['section']) self.assertEqual(u'Album Linkup', up[0]['edit']) self.assertEqual(u'org/1022', up[0]['link']) self.assertEqual(u'Varèse Sarabande', up[0]['titles']['en']) self.assertEqual(u'album/42366', up[0]['linked']['link']) self.assertEqual(u'302 066 978 2', up[0]['linked']['catalog']) self.assertEqual(u'Efendija', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=10807', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T10:57', up[0]['date']) self.assertEqual(u'Label Page Edit', up[-3]['edit']) self.assertEqual(u'org/1227', up[-3]['link']) self.assertEqual(u'Klang-Gear', up[-3]['titles']['en']) self.assertTrue(up[-3]['new']) self.assertFalse('linked' in up[-3]) self.assertEqual(u'Artist Linkup', up[-4]['edit']) self.assertEqual(u'org/1227', up[-4]['link']) self.assertEqual(u'Klang-Gear', up[-4]['titles']['en']) self.assertFalse(u'new' in up[-4]) self.assertEqual(u'artist/14980', up[-4]['linked']['link']) self.assertEqual(u'Martin', up[-4]['linked']['names']['en'])
def test_links(self): html = file(os.path.join(base, 'recent_links.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:28', data['meta']['edited_date']) self.assertEqual(u'links', data['section']) self.assertEqual(u'Album Link', up[0]['link_type']) self.assertEqual(u'album/42367', up[0]['link']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'Crossfade Demo', up[0]['link_data']['title']) self.assertEqual(u'http://vgmdb.net/redirect/65785/www.amazon.co.jp/dp/B00FXMYERU/', up[1]['link_data']['link']) self.assertEqual(u'amazon.co.jp', up[1]['link_data']['title']) self.assertEqual(u'http://', up[3]['link_data']['link']) self.assertEqual(u'', up[3]['link_data']['title']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:28', up[0]['date']) self.assertEqual(u'Purchase Link', up[1]['link_type']) self.assertEqual(u'album/41181', up[1]['link']) self.assertEqual(u'REC-092', up[1]['catalog']) self.assertEqual(u'Artist Link', up[6]['link_type']) self.assertEqual(u'artist/2277', up[6]['link']) self.assertEqual(u'Tainokobone', up[6]['names']['en']) self.assertEqual(u'Product Link', up[-1]['link_type']) self.assertEqual(u'product/3282', up[-1]['link']) self.assertEqual(u'Assassination Classroom', up[-1]['names']['en'])
def test_albums(self): html = file(os.path.join(base, 'recent_albums.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:40', data['meta']['edited_date']) self.assertEqual(u'albums', data['section']) self.assertTrue(up[0]['deleted']) self.assertTrue(up[1]['deleted']) self.assertEqual(u'deleted', up[0]['edit']) self.assertEqual(u'Deleted/Inactive Album', up[0]['titles']['en']) self.assertEqual(u'rejected', up[1]['edit']) self.assertEqual(u'東方人 -TOHO BEAT-', up[1]['titles']['ja']) self.assertEqual(u'new', up[5]['edit']) self.assertTrue(u'new' in up[5]) self.assertFalse(u'catalog' in up[0]) self.assertEqual(u'N/A', up[2]['catalog']) self.assertEqual(u'album/42368', up[2]['link']) self.assertEqual(u'2013-08-12', up[2]['release_date']) self.assertEqual(u'bonus', up[2]['type']) self.assertEqual(u'Enclosure/Promo', up[2]['category']) self.assertEqual(u'Efendija', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=10807', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:40', up[0]['date'])
def test_labels(self): html = file(os.path.join(base, 'recent_labels.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T10:57', data['meta']['edited_date']) self.assertEqual(u'labels', data['section']) self.assertEqual(u'Album Linkup', up[0]['edit']) self.assertEqual(u'org/1022', up[0]['link']) self.assertEqual(u'Varèse Sarabande', up[0]['titles']['en']) self.assertEqual(u'album/42366', up[0]['linked']['link']) self.assertEqual(u'302 066 978 2', up[0]['linked']['catalog']) self.assertEqual(u'Efendija', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=10807', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T10:57', up[0]['date']) self.assertEqual(u'Label Page Edit', up[-3]['edit']) self.assertEqual(u'org/1227', up[-3]['link']) self.assertEqual(u'Klang-Gear', up[-3]['titles']['en']) self.assertTrue(up[-3]['new']) self.assertFalse('linked' in up[-3]) self.assertEqual(u'Artist Linkup', up[-4]['edit']) self.assertEqual(u'org/1227', up[-4]['link']) self.assertEqual(u'Klang-Gear', up[-4]['titles']['en']) self.assertFalse(u'new' in up[-4]) self.assertEqual(u'artist/14980', up[-4]['linked']['link']) self.assertEqual(u'Martin', up[-4]['linked']['names']['en'])
def test_scans(self): html = file(os.path.join(base, 'recent_scans.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:43', data['meta']['edited_date']) self.assertEqual(u'scans', data['section']) self.assertEqual(u'deleted', up[0]['edit']) self.assertEqual(u'AICL-2608', up[0]['catalog']) self.assertEqual(u'album/41585', up[0]['link']) self.assertEqual(u'added', up[-1]['edit']) self.assertEqual(u'VICL-60930', up[-1]['catalog']) self.assertEqual(u'album/42362', up[-1]['link']) self.assertEqual(u'Myrkul', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=65', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:43', up[0]['date']) self.assertEqual(u'boogiepop', up[-1]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=11507', up[-1]['contributor']['link']) self.assertEqual(u'2013-10-20T07:56', up[-1]['date'])
def test_products(self): html = file(os.path.join(base, 'recent_products.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-19T06:50', data['meta']['edited_date']) self.assertEqual(u'products', data['section']) self.assertEqual(u'Album Linkup', up[0]['edit']) self.assertEqual(u'product/1143', up[0]['link']) self.assertEqual(u'Guild Wars 2', up[0]['titles']['en']) self.assertEqual(u'album/42352', up[0]['linked']['link']) self.assertEqual(u'N/A', up[0]['linked']['catalog']) self.assertEqual(u'Lashiec', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=13861', up[0]['contributor']['link']) self.assertEqual(u'2013-10-19T06:50', up[0]['date'])
def test_artists(self): html = file(os.path.join(base, 'recent_artists.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T14:57', data['meta']['edited_date']) self.assertEqual(u'artists', data['section']) self.assertEqual(u'YSCD-0023', up[0]['linked']['catalog']) self.assertEqual(u'album/29823', up[0]['linked']['link']) self.assertTrue(up[0]['deleted']) self.assertEqual(u'Stephen Erdody', up[-1]['names']['en']) self.assertEqual(u'artist/13131', up[-1]['link']) self.assertFalse(u'deleted' in up[-1]) self.assertEqual(u'Efendija', up[-1]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=10807', up[-1]['contributor']['link']) self.assertEqual(u'2013-10-20T11:28', up[-1]['date'])
def test_products(self): html = file(os.path.join(base, 'recent_products.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-19T06:50', data['meta']['edited_date']) self.assertEqual(u'products', data['section']) self.assertEqual(u'Album Linkup', up[0]['edit']) self.assertEqual(u'product/1143', up[0]['link']) self.assertEqual(u'Guild Wars 2', up[0]['titles']['en']) self.assertEqual(u'album/42352', up[0]['linked']['link']) self.assertEqual(u'N/A', up[0]['linked']['catalog']) self.assertEqual(u'Lashiec', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=13861', up[0]['contributor']['link']) self.assertEqual(u'2013-10-19T06:50', up[0]['date'])
def test_artists(self): html = file(os.path.join(base, 'recent_artists.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T14:57', data['meta']['edited_date']) self.assertEqual(u'artists', data['section']) self.assertEqual(u'YSCD-0023', up[0]['linked']['catalog']) self.assertEqual(u'album/29823', up[0]['linked']['link']) self.assertTrue(up[0]['deleted']) self.assertEqual(u'Stephen Erdody', up[-1]['names']['en']) self.assertEqual(u'artist/13131', up[-1]['link']) self.assertFalse(u'deleted' in up[-1]) self.assertEqual(u'Efendija', up[-1]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=10807', up[-1]['contributor']['link']) self.assertEqual(u'2013-10-20T11:28', up[-1]['date'])
def test_ratings(self): html = file(os.path.join(base, 'recent_ratings.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T13:34', data['meta']['edited_date']) self.assertEqual(u'ratings', data['section']) self.assertEqual(u'WM-0701~2', up[0]['catalog']) self.assertEqual(u'2013-04-24', up[0]['release_date']) self.assertEqual(u'album/38376', up[0]['link']) self.assertEqual(u'game', up[0]['type']) self.assertEqual(u'Game', up[0]['category']) self.assertEqual(u'Mahou Daisakusen Original Soundtrack', up[0]['titles']['en']) self.assertEqual(u'魔法大作戦 オリジナルサウンドトラック', up[0]['titles']['ja']) self.assertEqual(u'5', up[0]['rating']) self.assertEqual(u'Jodo Kast', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=1254', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T13:34', up[0]['date'])
def test_media(self): html = file(os.path.join(base, 'recent_media.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:11', data['meta']['edited_date']) self.assertEqual(u'media', data['section']) self.assertEqual(u'new', up[0]['edit']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'album/42368', up[0]['link']) self.assertTrue(up[5]['deleted']) self.assertEqual(u'SDEX-0057', up[3]['catalog']) self.assertEqual(u'album/14302', up[3]['link']) self.assertEqual(u'CD', up[3]['media_format']) self.assertEqual(u'Digital', up[-3]['media_format']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:11', up[0]['date'])
def test_media(self): html = file(os.path.join(base, 'recent_media.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:11', data['meta']['edited_date']) self.assertEqual(u'media', data['section']) self.assertEqual(u'new', up[0]['edit']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'album/42368', up[0]['link']) self.assertTrue(up[5]['deleted']) self.assertEqual(u'SDEX-0057', up[3]['catalog']) self.assertEqual(u'album/14302', up[3]['link']) self.assertEqual(u'CD', up[3]['media_format']) self.assertEqual(u'Digital', up[-3]['media_format']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:11', up[0]['date'])
def test_scans(self): html = file(os.path.join(base, 'recent_scans.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:43', data['meta']['edited_date']) self.assertEqual(u'scans', data['section']) self.assertEqual(u'deleted', up[0]['edit']) self.assertEqual(u'AICL-2608', up[0]['catalog']) self.assertEqual(u'album/41585', up[0]['link']) self.assertEqual(u'added', up[-1]['edit']) self.assertEqual(u'VICL-60930', up[-1]['catalog']) self.assertEqual(u'album/42362', up[-1]['link']) self.assertEqual(u'Myrkul', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=65', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:43', up[0]['date']) self.assertEqual(u'boogiepop', up[-1]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=11507', up[-1]['contributor']['link']) self.assertEqual(u'2013-10-20T07:56', up[-1]['date'])
def test_tracklists(self): html = file(os.path.join(base, 'recent_tracklists.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:17', data['meta']['edited_date']) self.assertEqual(u'tracklists', data['section']) self.assertEqual(u'new', up[0]['edit']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'album/42368', up[0]['link']) self.assertEqual(u'KDSD-00402', up[2]['catalog']) self.assertEqual(u'album/21317', up[2]['link']) self.assertEqual(u'bonus', up[0]['type']) self.assertEqual(u'Enclosure/Promo', up[0]['category']) self.assertEqual(u'game', up[2]['type']) self.assertEqual(u'Game', up[2]['category']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'http://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:17', up[0]['date'])
def test_links(self): html = file(os.path.join(base, 'recent_links.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:28', data['meta']['edited_date']) self.assertEqual(u'links', data['section']) self.assertEqual(u'Album Link', up[0]['link_type']) self.assertEqual(u'album/42367', up[0]['link']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'Crossfade Demo', up[0]['link_data']['title']) self.assertEqual( u'https://vgmdb.net/redirect/65785/www.amazon.co.jp/dp/B00FXMYERU/', up[1]['link_data']['link']) self.assertEqual(u'amazon.co.jp', up[1]['link_data']['title']) self.assertEqual(u'http://', up[3]['link_data']['link']) self.assertEqual(u'', up[3]['link_data']['title']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:28', up[0]['date']) self.assertEqual(u'Purchase Link', up[1]['link_type']) self.assertEqual(u'album/41181', up[1]['link']) self.assertEqual(u'REC-092', up[1]['catalog']) self.assertEqual(u'Artist Link', up[6]['link_type']) self.assertEqual(u'artist/2277', up[6]['link']) self.assertEqual(u'Tainokobone', up[6]['names']['en']) self.assertEqual(u'Product Link', up[-1]['link_type']) self.assertEqual(u'product/3282', up[-1]['link']) self.assertEqual(u'Assassination Classroom', up[-1]['names']['en'])
def test_ratings(self): html = file(os.path.join(base, 'recent_ratings.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T13:34', data['meta']['edited_date']) self.assertEqual(u'ratings', data['section']) self.assertEqual(u'WM-0701~2', up[0]['catalog']) self.assertEqual(u'2013-04-24', up[0]['release_date']) self.assertEqual(u'album/38376', up[0]['link']) self.assertEqual(u'game', up[0]['type']) self.assertEqual(u'Game', up[0]['category']) self.assertEqual(u'Mahou Daisakusen Original Soundtrack', up[0]['titles']['en']) self.assertEqual(u'魔法大作戦 オリジナルサウンドトラック', up[0]['titles']['ja']) self.assertEqual(u'5', up[0]['rating']) self.assertEqual(u'Jodo Kast', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=1254', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T13:34', up[0]['date'])
def test_tracklists(self): html = file(os.path.join(base, 'recent_tracklists.html'), 'r').read() data = recent.parse_page(html) up = data['updates'] self.assertTrue('meta' in data) self.assertTrue('edited_date' in data['meta']) self.assertEqual(u'2013-10-20T15:17', data['meta']['edited_date']) self.assertEqual(u'tracklists', data['section']) self.assertEqual(u'new', up[0]['edit']) self.assertEqual(u'N/A', up[0]['catalog']) self.assertEqual(u'album/42368', up[0]['link']) self.assertEqual(u'KDSD-00402', up[2]['catalog']) self.assertEqual(u'album/21317', up[2]['link']) self.assertEqual(u'bonus', up[0]['type']) self.assertEqual(u'Enclosure/Promo', up[0]['category']) self.assertEqual(u'game', up[2]['type']) self.assertEqual(u'Game', up[2]['category']) self.assertEqual(u'ritsukai', up[0]['contributor']['name']) self.assertEqual(u'https://vgmdb.net/forums/member.php?u=606', up[0]['contributor']['link']) self.assertEqual(u'2013-10-20T15:17', up[0]['date'])
class TestRecentRDF(TestRDF): data_parser = lambda self,x: recent.parse_page(x) outputter_type = 'recent' def setUp(self): pass def run_albums_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 27, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 27 } test_first_result = { "select ?catalog where { <@basealbum/14302#subject> mo:catalogue_number ?catalog . }" : "SDEX-0057", "select ?name where { <@basealbum/14302#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Chikyuu wa Tamagotchi?!", "select ?name where { <@basealbum/14302#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Chikyuu wa Tamagotchi?!", "select ?name where { <@basealbum/14302#subject> dcterms:title ?name . FILTER(lang(?name)='ja-latn') }" : "Chikyuu wa Tamagotchi?!", "select ?name where { <@basealbum/14302#subject> schema:name ?name . FILTER(lang(?name)='ja-latn') }" : "Chikyuu wa Tamagotchi?!" } self.run_tests(graph, test_count_results, test_first_result) def test_albums_rdfa(self): graph = self.load_rdfa_data('recent_albums.html') self.run_albums_tests(graph) def test_albums_rdf(self): graph = self.load_rdf_data('recent_albums.html') self.run_albums_tests(graph) def run_media_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 35, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 35 } test_first_result = { "select ?catalog where { <@basealbum/14302#subject> mo:catalogue_number ?catalog . }" : "SDEX-0057", "select ?name where { <@basealbum/14302#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Chikyuu wa Tamagotchi?!", "select ?name where { <@basealbum/14302#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Chikyuu wa Tamagotchi?!" } self.run_tests(graph, test_count_results, test_first_result) def test_media_rdfa(self): graph = self.load_rdfa_data('recent_media.html') self.run_media_tests(graph) def test_media_rdf(self): graph = self.load_rdf_data('recent_media.html') self.run_media_tests(graph) def run_tracklists_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 32, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 32 } test_first_result = { "select ?catalog where { <@basealbum/10310#subject> mo:catalogue_number ?catalog . }" : "KDSD-00222", "select ?name where { <@basealbum/10310#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Tindharia no Tane / Haruka Shimotsuki", "select ?name where { <@basealbum/10310#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Tindharia no Tane / Haruka Shimotsuki", "select ?name where { <@basealbum/10310#subject> dcterms:title ?name . FILTER(lang(?name)='ja-latn') }" : "Tindharia no Tane / Haruka Shimotsuki", "select ?name where { <@basealbum/10310#subject> schema:name ?name . FILTER(lang(?name)='ja-latn') }" : "Tindharia no Tane / Haruka Shimotsuki" } self.run_tests(graph, test_count_results, test_first_result) def test_tracklists_rdfa(self): graph = self.load_rdfa_data('recent_tracklists.html') self.run_tracklists_tests(graph) def test_tracklists_rdf(self): graph = self.load_rdf_data('recent_tracklists.html') self.run_tracklists_tests(graph) def run_scans_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 17, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 17 } test_first_result = { "select ?catalog where { <@basealbum/12019#subject> mo:catalogue_number ?catalog . }" : "BCR-005" } self.run_tests(graph, test_count_results, test_first_result) def test_scans_rdfa(self): graph = self.load_rdfa_data('recent_scans.html') self.run_scans_tests(graph) def test_scans_rdf(self): graph = self.load_rdf_data('recent_scans.html') self.run_scans_tests(graph) def run_artists_tests(self, graph): test_count_results = { "select ?artist where { ?artist rdf:type schema:MusicGroup . }" : 45 } test_first_result = { "select ?name where { <@baseartist/1891#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Masaya Matsuura" } self.run_tests(graph, test_count_results, test_first_result) def test_artists_rdfa(self): graph = self.load_rdfa_data('recent_artists.html') self.run_artists_tests(graph) def test_artists_rdf(self): graph = self.load_rdf_data('recent_artists.html') self.run_artists_tests(graph) def run_products_tests(self, graph): test_count_results = { "select ?product where { ?product rdf:type schema:CreativeWork . }" : 16, "select ?product where { ?product rdf:type rdfs:Resource . }": 1 } test_first_result = { "select ?name where { <@baseproduct/1143#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Guild Wars 2", "select ?name where { <@baseproduct/1143#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Guild Wars 2" } self.run_tests(graph, test_count_results, test_first_result) def test_products_rdfa(self): graph = self.load_rdfa_data('recent_products.html') self.run_products_tests(graph) def test_products_rdf(self): graph = self.load_rdf_data('recent_products.html') self.run_products_tests(graph) def run_labels_tests(self, graph): test_count_results = { "select ?product where { ?product rdf:type schema:Organization . }" : 17, "select ?product where { ?product rdf:type foaf:Organization . }" : 17 } test_first_result = { "select ?name where { <@baseorg/1144#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Walt Disney Records", "select ?name where { <@baseorg/1144#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Walt Disney Records" } self.run_tests(graph, test_count_results, test_first_result) def test_labels_rdfa(self): graph = self.load_rdfa_data('recent_labels.html') self.run_labels_tests(graph) def test_labels_rdf(self): graph = self.load_rdf_data('recent_labels.html') self.run_labels_tests(graph) def run_links_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 28, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 28 } test_first_result = { "select ?catalog where { <@basealbum/21381#subject> mo:catalogue_number ?catalog . }" : "TASS-0002" } self.run_tests(graph, test_count_results, test_first_result) def test_links_rdfa(self): graph = self.load_rdfa_data('recent_links.html') self.run_links_tests(graph) def test_links_rdf(self): graph = self.load_rdf_data('recent_links.html') self.run_links_tests(graph) def run_ratings_tests(self, graph): test_count_results = { "select ?album where { ?album rdf:type mo:Release . }" : 48, "select ?album where { ?album rdf:type schema:MusicAlbum . }" : 48 } test_first_result = { "select ?catalog where { <@basealbum/38376#subject> mo:catalogue_number ?catalog . }" : "WM-0701~2", "select ?value where { <@basealbum/38376#subject> schema:review ?review . ?review schema:reviewRating ?rating . ?rating schema:ratingValue ?value . }" : 5, "select ?value where { <@basealbum/38376#subject> schema:review ?review . ?review schema:reviewRating ?rating . ?rating schema:bestRating ?value . }" : 5, "select ?name where { <@basealbum/38376#subject> dcterms:title ?name . FILTER(lang(?name)='en') }" : "Mahou Daisakusen Original Soundtrack", "select ?name where { <@basealbum/38376#subject> schema:name ?name . FILTER(lang(?name)='en') }" : "Mahou Daisakusen Original Soundtrack", "select ?name where { <@basealbum/38376#subject> dcterms:title ?name . FILTER(lang(?name)='ja-latn') }" : "Mahou Daisakusen Original Soundtrack", "select ?name where { <@basealbum/38376#subject> schema:name ?name . FILTER(lang(?name)='ja-latn') }" : "Mahou Daisakusen Original Soundtrack" } self.run_tests(graph, test_count_results, test_first_result) def test_ratings_rdfa(self): graph = self.load_rdfa_data('recent_ratings.html') self.run_ratings_tests(graph) def test_ratings_rdf(self): graph = self.load_rdf_data('recent_ratings.html') self.run_ratings_tests(graph)