def testEvents(self): class EventHandler: def handler(self, x, args): self.value = args.value event_handler = EventHandler() x = SubClassTest() x.TestEvent += event_handler.handler self.assertEqual(TestFunctions.test_event(x, 1), 1) self.assertEqual(event_handler.value, 1) i = InterfaceTestClass() self.assertRaises(NotImplementedException, TestFunctions.test_event, i, 2) d = DerivedEventTest() d.add_TestEvent(event_handler.handler) self.assertEqual(TestFunctions.test_event(d, 3), 3) self.assertEqual(event_handler.value, 3) self.assertEqual(len(d.event_handlers), 1)