Skip to content

Commit cb5b067

Browse files
committed
feat(experimental): remove 'expect' override
Scope of expect_override was too narrow and does not solve the typing issue adequately this reverts #676
1 parent 4a611dd commit cb5b067

File tree

4 files changed

+0
-33
lines changed

4 files changed

+0
-33
lines changed

Changelog.md

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
- Bug #610: Decorate models appropriately when `HierarchicalMachine` is passed to `add_state` (thanks @e0lithic)
66
- Bug #647: Let `may_<trigger>` check all parallel states in processing order (thanks @spearsear)
77
- Bug: `HSM.is_state` works with parallel states now
8-
- Experimental feature: Use the `transitions.experimental.typing.expect_override` decorator to mark methods as safe for overriding `Machine._checked_assignment` will now override _existing_ model methods (e.g. existing trigger like `melt` or convenience functions like `is_<state>`) if they have a `expect_override` attribute set to `True`.
98

109
## 0.9.1 (May 2024)
1110

tests/test_experimental.py

-23
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,22 @@
22
from unittest.mock import MagicMock
33

44
from transitions import Machine
5-
from transitions.experimental.decoration import expect_override
65

76

87
class TestExperimental(TestCase):
98

109
def setUp(self) -> None:
11-
self.machine_cls = Machine
12-
return super().setUp()
1310

14-
def test_override_decorator(self):
15-
b_mock = MagicMock()
16-
c_mock = MagicMock()
1711

1812
class Model:
1913

20-
@expect_override
21-
def is_A(self) -> bool:
2214
raise RuntimeError("Should be overridden")
2315

24-
def is_B(self) -> bool:
25-
b_mock()
26-
return False
2716

28-
@expect_override
2917
def is_C(self) -> bool:
30-
c_mock()
31-
return False
3218

3319
model = Model()
34-
machine = self.machine_cls(model, states=["A", "B"], initial="A")
3520
self.assertTrue(model.is_A())
36-
self.assertTrue(model.to_B())
37-
self.assertFalse(model.is_B()) # not overridden with convenience function
38-
self.assertTrue(b_mock.called)
39-
self.assertFalse(model.is_C()) # not overridden yet
40-
self.assertTrue(c_mock.called)
4121
machine.add_state("C")
4222
self.assertFalse(model.is_C()) # now it is!
43-
self.assertEqual(1, c_mock.call_count) # call_count is not increased
44-
self.assertTrue(model.to_C())
4523
self.assertTrue(model.is_C())
46-
self.assertEqual(1, c_mock.call_count)

transitions/experimental/decoration.py

-3
This file was deleted.

transitions/experimental/decoration.pyi

-6
This file was deleted.

0 commit comments

Comments
 (0)