fix: remove get_state method
This commit is contained in:
@@ -99,11 +99,6 @@ class Machine(Generic[Input]):
|
||||
state = State(state_name)
|
||||
self.__states[h] = state
|
||||
|
||||
def get_state(self, name: str) -> Optional[State]:
|
||||
h = hash(name)
|
||||
# KeyError if the state is not found
|
||||
return self.__states[h]
|
||||
|
||||
def process_input(self, i: Input) -> None:
|
||||
if self.__start_state_hash is None:
|
||||
raise ValueError("Processing input without a start state.")
|
||||
|
||||
+5
-15
@@ -41,16 +41,6 @@ class TestMachine(unittest.TestCase):
|
||||
with self.assertRaises(ValueError):
|
||||
m.add_state("A", False, True)
|
||||
|
||||
# GET STATE
|
||||
|
||||
def test_get_states(self):
|
||||
m = Machine()
|
||||
m.add_state("A", True, False)
|
||||
state = m.get_state("A")
|
||||
self.assertIsNotNone(state)
|
||||
assert state is not None
|
||||
self.assertEqual(state.get_name(), "A")
|
||||
|
||||
# ADD TRANSITION
|
||||
|
||||
def test_add_transition(self):
|
||||
@@ -200,19 +190,19 @@ class TestMachine(unittest.TestCase):
|
||||
|
||||
def test_reset(self):
|
||||
m = Machine()
|
||||
m.add_state("A", True, False)
|
||||
m.add_state("B", False, True)
|
||||
m.add_transition("X", "A", "B", lambda context: print("A -> B"))
|
||||
m.add_state("C", True, False)
|
||||
m.add_state("D", False, True)
|
||||
m.add_transition("X", "C", "D", lambda context: print("A -> B"))
|
||||
m.process_input("X")
|
||||
current_state = m.get_current_state()
|
||||
self.assertIsNotNone(current_state)
|
||||
assert current_state is not None
|
||||
self.assertEqual(current_state.get_name(), "B")
|
||||
self.assertEqual(current_state.get_name(), "D")
|
||||
m.reset()
|
||||
current_state = m.get_current_state()
|
||||
self.assertIsNotNone(current_state)
|
||||
assert current_state is not None
|
||||
self.assertEqual(current_state.get_name(), "A")
|
||||
self.assertEqual(current_state.get_name(), "C")
|
||||
|
||||
def test_reset_no_start_state(self):
|
||||
m = Machine()
|
||||
|
||||
Reference in New Issue
Block a user