OpenHands/tests/test_action_serialization.py
Robert Brennan effac868c1
Implement deserialization for actions and observations (#359)
* action deserializing

* add observation deserialization

* add tests

* refactor agents with serialization

* fix some errors

* fix lint

* fix json parser
2024-03-30 10:06:25 -04:00

17 lines
822 B
Python

import pytest
from opendevin.action import action_from_dict, Action, AgentThinkAction
def test_action_serialization_deserialization():
original_action_dict = {
'action': 'think',
'args': {'thought': 'This is a test.'}
}
action_instance = action_from_dict(original_action_dict)
assert isinstance(action_instance, Action), 'The action instance should be an instance of Action.'
assert isinstance(action_instance, AgentThinkAction), 'The action instance should be an instance of AgentThinkAction.'
serialized_action_dict = action_instance.to_dict()
serialized_action_dict.pop('message')
assert serialized_action_dict == original_action_dict, 'The serialized action should match the original action dict.'
# Additional tests for various action subclasses can be included here