def test_nameFromId(self): """Test page id from name""" testPages = { \ 290: {'name': 'A'}, 3783: {'name': 'B'}, 12266: {'name': 'Genetics'}, 3954: {'name': 'Biochemistry'}, 130495: {'name': 'EBay'}, 6235: {'name': 'Cell nucleus'}, 5507057: {'name': 'Deoxyribonuclease I'}, 7955: {'name': 'DNA'}} #writer = mediawikicdbwriter.MediaWikiCdbWriter() #writer.writeCdbNameFromId(self.dir+"pageNameFromId.cdb", testPages) pageNameFromId = CdbDictNameFromId(self.dir + "pageNameFromId.cdb") # test _pack_value and _unpack_value expected = {'name': 'Genetics'} result = pageNameFromId._unpack_value(pageNameFromId._pack_value(expected)) self.assertEqual(result, expected) # test _pack_key and _unpack_key expected = 12266 result = pageNameFromId._unpack_key(pageNameFromId._pack_key(expected)) self.assertEqual(result, expected) pageNameFromId.clear() pageNameFromId.update(testPages) for i in testPages: expected = testPages[i] result = pageNameFromId[i] self.assertEqual(result, expected)
def test_pageNameFromId(self): """Test page ids""" pageIdFromName = CdbDictIdFromName("cdb/pageIdFromName.cdb") pageNameFromId = CdbDictNameFromId("cdb/pageNameFromId.cdb") for i in pageNameFromId: name = pageNameFromId[i] print "name:", name result = pageIdFromName[name['name']]['id'] #print "pagei", i, "id", id, "name", name self.assertEqual(result, i) # test keys result = pageIdFromName.keys() expected = ['A', 'B', 'Genetics', 'Biochemistry', '\xc3\x86', 'EBay', 'Cell nucleus', '\xc3\x9f', 'Deoxyribonuclease I', 'DNA'] self.assertEqual(result, expected) result = pageNameFromId.keys() expected = [290, 3783, 12266, 198274, 5507057, 3954, 7955, 184309, 6235, 130495] self.assertEqual(result, expected)