Esempio n. 1
0
 def test_on_change_bad_functor(self):
     m = cbm.PropertyCallbackManager()
     bad = _BadPropertyCallback()
     with pytest.raises(ValueError):
         m.on_change('foo', bad)
     assert len(m._callbacks) == 1
     assert len(m._callbacks['foo']) == 0
Esempio n. 2
0
 def test_on_change_good_closure(self):
     def good(x, y, z):
         pass
     m = cbm.PropertyCallbackManager()
     m.on_change('foo', good)
     assert len(m._callbacks) == 1
     assert len(m._callbacks['foo']) == 1
def test_property_on_change_bad_method():
    m = cbm.PropertyCallbackManager()
    bad = _BadPropertyCallback()
    with pytest.raises(ValueError):
        m.on_change('foo', bad.method)
    assert len(m._callbacks) == 1
    assert len(m._callbacks['foo']) == 0
Esempio n. 4
0
 def test_on_change_bad_closure(self):
     def bad(x, y):
         pass
     m = cbm.PropertyCallbackManager()
     with pytest.raises(ValueError):
         m.on_change('foo', bad)
     assert len(m._callbacks) == 1
     assert len(m._callbacks['foo']) == 0
Esempio n. 5
0
 def test_trigger(self):
     m = cbm.PropertyCallbackManager()
     good = _GoodPropertyCallback()
     m.on_change('foo', good.method)
     m.trigger('foo', 42, 43)
     assert good.last_name == 'foo'
     assert good.last_old == 42
     assert good.last_new == 43
Esempio n. 6
0
    def test_on_change_same_attr_twice_one_call(self):
        def good1(x, y, z):
            pass

        def good2(x, y, z):
            pass
        m2 = cbm.PropertyCallbackManager()
        m2.on_change('foo', good1, good2)
        assert len(m2._callbacks) == 1
        assert m2._callbacks['foo'] == [good1, good2]
Esempio n. 7
0
    def test_on_change_same_attr_twice_multiple_calls(self):
        def good1(x, y, z):
            pass

        def good2(x, y, z):
            pass
        m1 = cbm.PropertyCallbackManager()
        m1.on_change('foo', good1)
        m1.on_change('foo', good2)
        assert len(m1._callbacks) == 1
        assert m1._callbacks['foo'] == [good1, good2]
Esempio n. 8
0
    def test_on_change_different_attrs(self):
        def good1(x, y, z):
            pass

        def good2(x, y, z):
            pass
        m1 = cbm.PropertyCallbackManager()
        m1.on_change('foo', good1)
        m1.on_change('bar', good2)
        assert len(m1._callbacks) == 2
        assert m1._callbacks['foo'] == [good1]
        assert m1._callbacks['bar'] == [good2]
Esempio n. 9
0
 def test_trigger_with_two_callbacks(self):
     m = cbm.PropertyCallbackManager()
     good1 = _GoodPropertyCallback()
     good2 = _GoodPropertyCallback()
     m.on_change('foo', good1.method)
     m.on_change('foo', good2.method)
     m.trigger('foo', 42, 43)
     assert good1.last_name == 'foo'
     assert good1.last_old == 42
     assert good1.last_new == 43
     assert good2.last_name == 'foo'
     assert good2.last_old == 42
     assert good2.last_new == 43
Esempio n. 10
0
 def test_on_change_bad_function(self) -> None:
     m = cbm.PropertyCallbackManager()
     with pytest.raises(ValueError):
         m.on_change('foo', _bad_property)
     assert len(m._callbacks) == 1
     assert len(m._callbacks['foo']) == 0
Esempio n. 11
0
 def test_on_change_good_lambda(self):
     m = cbm.PropertyCallbackManager()
     good = lambda x, y, z: x
     m.on_change('foo', good)
     assert len(m._callbacks) == 1
     assert m._callbacks['foo'] == [good]
Esempio n. 12
0
 def test_on_change_good_partial_function(self):
     m = cbm.PropertyCallbackManager()
     p = partial(_partially_good_property, 'foo')
     m.on_change('bar', p)
     assert len(m._callbacks) == 1
Esempio n. 13
0
 def test_creation(self):
     m = cbm.PropertyCallbackManager()
     assert len(m._callbacks) == 0
Esempio n. 14
0
 def test_on_change_good_extra_kwargs_function(self):
     m = cbm.PropertyCallbackManager()
     m.on_change('bar', _just_fine_property)
     assert len(m._callbacks) == 1
Esempio n. 15
0
 def test_on_change_good_partial_method(self):
     m = cbm.PropertyCallbackManager()
     good = _GoodPropertyCallback()
     p = partial(good.partially_good, 'foo')
     m.on_change('bar', p)
     assert len(m._callbacks) == 1
Esempio n. 16
0
 def test_on_change_bad_lambda(self):
     m = cbm.PropertyCallbackManager()
     with pytest.raises(ValueError):
         m.on_change('foo', lambda x, y: x)
     assert len(m._callbacks) == 1
     assert len(m._callbacks['foo']) == 0
Esempio n. 17
0
 def test_on_change_good_extra_kwargs_method(self):
     m = cbm.PropertyCallbackManager()
     good = _GoodPropertyCallback()
     m.on_change('bar', good.just_fine)
     assert len(m._callbacks) == 1
Esempio n. 18
0
 def test_on_change_good_functor(self):
     m = cbm.PropertyCallbackManager()
     good = _GoodPropertyCallback()
     m.on_change('foo', good)
     assert len(m._callbacks) == 1
     assert m._callbacks['foo'] == [good]
Esempio n. 19
0
 def test_on_change_good_method(self) -> None:
     m = cbm.PropertyCallbackManager()
     good = _GoodPropertyCallback()
     m.on_change('foo', good.method)
     assert len(m._callbacks) == 1
     assert m._callbacks['foo'] == [good.method]
Esempio n. 20
0
 def test_on_change_good_function(self):
     m = cbm.PropertyCallbackManager()
     m.on_change('foo', _good_property)
     assert len(m._callbacks) == 1
     assert m._callbacks['foo'] == [_good_property]