def test_cb_subscribed_no_change(self): domain = VariableDomain('d', 'd', [1, 2, 3, 4]) v = ExternalVariable('v', domain, value=1) cb = MagicMock() v.value = 2 v.subscribe(cb) # The callback must be called only if the value has really changed v.value = 2 self.assertFalse(cb.called) v.value = 3 cb.assert_called_with(3) cb.reset_mock() v.value = 3 self.assertFalse(cb.called)
def test_cb_subscribed(self): domain = VariableDomain('d', 'd', [1, 2, 3, 4]) v = ExternalVariable('v', domain, value=1) cb = MagicMock() v.subscribe(cb) v.value = 2 cb.assert_called_with(2)
def test_cb_unsusbcribed(self): domain = VariableDomain('d', 'd', [1, 2, 3, 4]) v = ExternalVariable('v', domain, value=1) cb = MagicMock() v.subscribe(cb) v.unsubscribe(cb) v.value = 2 self.assertFalse(cb.called)
def test_set_value_in_domain(self): domain = VariableDomain('d', 'd', [1, 2, 3, 4]) v = ExternalVariable('v', domain, value=1) v.value = 2 self.assertEqual(v.value, 2)