Test correct reference loop reporting for commands
(self)
| 104 | self.assertEqual(cb.caller, None) |
| 105 | |
| 106 | def testCommandCircularRef(self): |
| 107 | """Test correct reference loop reporting for commands |
| 108 | """ |
| 109 | cb = callback() |
| 110 | o = vtkObject() |
| 111 | o.AddObserver(vtkCommand.ModifiedEvent, cb) |
| 112 | cb.circular_ref = o |
| 113 | # referent to check if "o" is deleted |
| 114 | referent = vtkObject() |
| 115 | o.referent = referent |
| 116 | # make sure gc removes referrer "o" from referent |
| 117 | s1 = repr(gc.get_referrers(referent)) |
| 118 | del o |
| 119 | del cb |
| 120 | gc.collect() |
| 121 | s2 = repr(gc.get_referrers(referent)) |
| 122 | |
| 123 | self.assertNotEqual(s1, s2) |
| 124 | self.assertNotEqual(s1.count("vtkObject"),0) |
| 125 | self.assertEqual(s2.count("vtkObject"),0) |
| 126 | |
| 127 | def testAddRemoveObservers(self): |
| 128 | """Test adding and removing observers |
nothing calls this directly
no test coverage detected