Пример #1
0
    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)