def testLoadsModuleAndUnloadsOnDispose(self): mapper = PythonMapper(DLL_PATH) try: origcwd = os.getcwd() mapper.LoadModule(os.path.join("tests", "data", "setvalue.pyd"), "some.module") self.assertEquals(os.getcwd(), origcwd, "failed to restore working directory") self.assertNotEquals(Unmanaged.GetModuleHandle("setvalue.pyd"), IntPtr.Zero, "library not mapped by construction") mapper.Dispose() self.assertEquals(Unmanaged.GetModuleHandle("setvalue.pyd"), IntPtr.Zero, "library not unmapped by Dispose") self.assertEquals(Unmanaged.GetModuleHandle(PYTHON_DLL), IntPtr.Zero, "library not unmapped by Dispose") finally: mapper.Dispose()