示例#1
0
    def testPyDict_GetItemSuccess(self):
        frees = []
        mapper = PythonMapper(GetAllocatingTestAllocator([], frees))
        deallocTypes = CreateTypes(mapper)
        dictPtr = mapper.Store({12345: 67890})

        mapper.EnsureGIL()
        itemPtr = mapper.PyDict_GetItem(dictPtr, mapper.Store(12345))
        self.assertEquals(mapper.Retrieve(itemPtr), 67890,
                          "failed to get item")
        self.assertEquals(mapper.RefCount(itemPtr), 1, "something is wrong")
        mapper.ReleaseGIL()
        self.assertEquals(itemPtr in frees, True)

        mapper.Dispose()
        deallocTypes()