def test_public_static_event():
    """Test public static events."""
    handler = GenericHandler()
    assert handler.value is None

    EventTest.PublicStaticEvent += handler.handler

    EventTest.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 10
예제 #2
0
    def testPublicStaticEvent(self):
        """Test public static events."""
        handler = GenericHandler()
        self.failUnless(handler.value == None)

        EventTest.PublicStaticEvent += handler.handler

        EventTest.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 10)
def test_remove_multiple_static_handlers():
    """Test removing multiple instances of a static handler."""
    ob = EventTest()
    handler = MultipleHandler()

    h1 = handler.handler
    ob.PublicStaticEvent += h1

    h2 = handler.handler
    ob.PublicStaticEvent += h2

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 20

    ob.PublicStaticEvent -= h1

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 30

    ob.PublicStaticEvent -= h2

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 30

    # try again, removing in a different order.

    ob = EventTest()
    handler = MultipleHandler()

    h1 = handler.handler
    ob.PublicStaticEvent += h1

    h2 = handler.handler
    ob.PublicStaticEvent += h2

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 20

    ob.PublicStaticEvent -= h2

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 30

    ob.PublicStaticEvent -= h1

    ob.OnPublicStaticEvent(EventArgsTest(10))
    assert handler.value == 30
예제 #4
0
    def testRemoveMultipleStaticHandlers(self):
        """Test removing multiple instances of a static handler."""
        object = EventTest()
        handler = MultipleHandler()

        h1 = handler.handler
        object.PublicStaticEvent += h1

        h2 = handler.handler
        object.PublicStaticEvent += h2

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 20)

        object.PublicStaticEvent -= h1

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 30)

        object.PublicStaticEvent -= h2

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 30)

        # try again, removing in a different order.

        object = EventTest()
        handler = MultipleHandler()

        h1 = handler.handler
        object.PublicStaticEvent += h1

        h2 = handler.handler
        object.PublicStaticEvent += h2

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 20)

        object.PublicStaticEvent -= h2

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 30)

        object.PublicStaticEvent -= h1

        object.OnPublicStaticEvent(TestEventArgs(10))
        self.failUnless(handler.value == 30)