Skip to content

Commit

Permalink
refactor: use dataclass for StateMachineEvent and simplify mock classes
Browse files Browse the repository at this point in the history
  • Loading branch information
gianlucapagliara committed Dec 30, 2024
1 parent e2992df commit 037d8a5
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 27 deletions.
2 changes: 2 additions & 0 deletions agentspype/agent/publishing.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from dataclasses import dataclass
from enum import Enum
from typing import TYPE_CHECKING, Any

Expand Down Expand Up @@ -27,6 +28,7 @@ class StateAgentPublishing(AgentPublishing):
class Events(Enum):
StateMachineTransition = "sm_transition_event"

@dataclass
class StateMachineEvent:
event: Any
new_state: State
Expand Down
15 changes: 1 addition & 14 deletions tests/test_agency.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,7 @@ def __init__(self, agent: Agent) -> None:
def trigger_event(self, event_publication: Any, event_data: Any) -> None:
self.published_events.append((event_publication, event_data))

class StateMachineEvent:
def __init__(self, event: str, state: State) -> None:
self.event = event
self.new_state = state

# Override the event publication to use our mock event class
sm_transition_event = type(
"EventPublication",
(),
{
"event_tag": StateAgentPublishing.Events.StateMachineTransition,
"event_class": StateMachineEvent,
},
)()
sm_transition_event = StateAgentPublishing.sm_transition_event


class MockAgent(Agent):
Expand Down
14 changes: 1 addition & 13 deletions tests/test_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,20 +89,8 @@ def __init__(self, agent: Agent) -> None:
def trigger_event(self, event_publication: Any, event_data: Any) -> None:
self.published_events.append((event_publication, event_data))

class StateMachineEvent:
def __init__(self, event: str, state: State) -> None:
self.event = event
self.new_state = state

# Override the event publication to use our mock event class
sm_transition_event = type(
"EventPublication",
(),
{
"event_tag": StateAgentPublishing.Events.StateMachineTransition,
"event_class": StateMachineEvent,
},
)()
sm_transition_event = StateAgentPublishing.sm_transition_event


# Define agents with different state machines
Expand Down

0 comments on commit 037d8a5

Please sign in to comment.