def test_EventHandler(self): self.assertRaises(TypeError, events.EventHandler) self.assertIsInstance(events.EventHandler(None), events.EventHandler) self.assertIsInstance(events.EventHandler(132), events.EventHandler) self.assertIsInstance(events.EventHandler("Test"), events.EventHandler) ev = events.EventHandler(None) self.assertEqual(ev.sender, None) ev = events.EventHandler("Test") self.assertEqual(ev.sender, "Test") self.assertEqual(len(ev), 0) self.assertEqual(len(ev.callbacks), 0)
def test_EventHandler_remove__isub__(self): ev = events.EventHandler(None) def doremove(ev, cb): ev -= cb def callback(): pass for x in range(10): ev += callback self.assertEqual(len(ev), 10) self.assertRaises(TypeError, ev.remove) for invval in ("Test", None, 1234, self.assertEqual): self.assertRaises(ValueError, ev.remove, invval) self.assertRaises(ValueError, doremove, ev, invval) self.assertEqual(len(ev), 10) ev.remove(callback) self.assertEqual(len(ev), 9) ev -= callback self.assertEqual(len(ev), 8) for x in range(3): ev.remove(callback) ev -= callback self.assertEqual(len(ev), 2)
def test_EventHandler_add__iadd__(self): ev = events.EventHandler(None) def doadd(ev, cb): ev += cb def callback(): pass self.assertRaises(TypeError, doadd, ev, None) self.assertRaises(TypeError, doadd, ev, "Test") self.assertRaises(TypeError, doadd, ev, 1234) self.assertEqual(len(ev), 0) ev += callback self.assertEqual(len(ev), 1) for x in range(4): ev += callback self.assertEqual(len(ev), 5) self.assertRaises(TypeError, ev.add, None) self.assertRaises(TypeError, ev.add, "Test") self.assertRaises(TypeError, ev.add, 1234) self.assertEqual(len(ev), 5) ev.add(callback) self.assertEqual(len(ev), 6) for x in range(4): ev.add(callback) self.assertEqual(len(ev), 10)
def test_EventHandler_remove__isub__(self): ev = events.EventHandler(None) def doremove(ev, cb): ev -= cb def callback(): pass for x in range(10): ev += callback assert len(ev) == 10 with pytest.raises(TypeError): ev.remove() for invval in ("Test", None, 1234): with pytest.raises(ValueError): ev.remove(invval) with pytest.raises(ValueError): doremove(ev, invval) assert len(ev) == 10 ev.remove(callback) assert len(ev) == 9 ev -= callback assert len(ev) == 8 for x in range(3): ev.remove(callback) ev -= callback assert len(ev) == 2
def test_EventHandler__call__(self): ev = events.EventHandler("Test") testsum = [] def callback(sender, sumval): self.assertEqual(sender, "Test") sumval.append(1) for x in range(10): ev += callback self.assertEqual(len(ev), 10) results = ev(testsum) self.assertEqual(len(testsum), 10) for v in testsum: self.assertEqual(v, 1) self.assertEqual(len(results), 10) for v in results: self.assertIsNone(v)
def test_EventHandler__call__(self): ev = events.EventHandler("Test") testsum = [] def callback(sender, sumval): assert sender == "Test" sumval.append(1) for x in range(10): ev += callback assert len(ev) == 10 results = ev(testsum) assert len(testsum) == 10 for v in testsum: assert v == 1 assert len(results) == 10 for v in results: assert v is None
def test_EventHandler(self): with pytest.raises(TypeError): events.EventHandler() assert isinstance(events.EventHandler(None), events.EventHandler) assert isinstance(events.EventHandler(132), events.EventHandler) assert isinstance(events.EventHandler("Test"), events.EventHandler) ev = events.EventHandler(None) assert ev.sender == None ev = events.EventHandler("Test") assert ev.sender == "Test" assert len(ev) == 0 assert len(ev.callbacks) == 0
def test_EventHandler_add__iadd__(self): ev = events.EventHandler(None) def doadd(ev, cb): ev += cb def callback(): pass with pytest.raises(TypeError): doadd(ev, None) with pytest.raises(TypeError): doadd(ev, "Test") with pytest.raises(TypeError): doadd(ev, 1234) assert len(ev) == 0 ev += callback assert len(ev) == 1 for x in range(4): ev += callback assert len(ev) == 5 with pytest.raises(TypeError): ev.add(None) with pytest.raises(TypeError): ev.add("Test") with pytest.raises(TypeError): ev.add(1234) assert len(ev) == 5 ev.add(callback) assert len(ev) == 6 for x in range(4): ev.add(callback) assert len(ev) == 10