예제 #1
0
    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)
예제 #2
0
    def test_idFromName(self):
        """Test page id from name"""
        testPages = { \
            'A': {'id': 290},
            'B': {'id': 3783},
            'Genetics': {'id': 12266},
            'Biochemistry': {'id': 3954},
            'EBay': {'id': 130495},
            'Cell nucleus': {'id': 6235},
            'Deoxyribonuclease I': {'id': 5507057},
            'DNA': {'id': 7955}}
        #writer = mediawikicdbwriter.MediaWikiCdbWriter()
        #writer.writeCdbIdFromName(self.dir+"pageIdFromName.cdb", testPages)
        pageIdFromName = CdbDictIdFromName(self.dir + "pageIdFromName.cdb")

        # test _pack_value and _unpack_value
        expected = {'id': 12266}
        result = pageIdFromName._unpack_value(pageIdFromName._pack_value(expected))
        self.assertEqual(result, expected)

        # test _pack_key and _unpack_key
        expected = 'Genetics'
        result = pageIdFromName._unpack_key(pageIdFromName._pack_key(expected))
        self.assertEqual(result, expected)

        pageIdFromName.clear()
        pageIdFromName.update(testPages)

        for i in testPages:
            expected = testPages[i]
            result = pageIdFromName[i]
            print "r, e", result, expected
            self.assertEqual(result, expected)
        pageIdFromName.clear()
        self.assertEqual(len(pageIdFromName.keys()), 0)