Skip to content

Commit

Permalink
clean diff, param test
Browse files Browse the repository at this point in the history
  • Loading branch information
MattToast committed Mar 22, 2024
1 parent e1ef2b2 commit 8e27b95
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
8 changes: 4 additions & 4 deletions smartsim/_core/schemas/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,14 @@ def _to_message(self, schema: _SchemaT) -> _Message[_SchemaT]:

def from_string(self, str_: str) -> _SchemaT:
try:
header, _ = str_.split(self._msg_delim, 1)
type_, _ = str_.split(self._msg_delim, 1)
except ValueError:
_msg = f"Failed to find message header in string {repr(str_)}"
_msg = f"Failed determine schema type of string {repr(str_)}"
raise ValueError(_msg) from None
try:
cls = self._map[header]
cls = self._map[type_]
except KeyError:
raise ValueError(f"No type of value `{header}` is registered") from None
raise ValueError(f"No type of value `{type_}` is registered") from None
msg = _Message.from_str(str_, self._msg_delim, cls)
return self._from_message(msg)

Expand Down
11 changes: 9 additions & 2 deletions tests/utils/test_schema_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,15 @@ def test_registry_errors_on_unknown_schema():
registry.to_string(Book(title="The Shortest Story of All Time", num_pages=1))


def test_registry_correctly_maps_to_expected_type():
registry = SchemaRegistry()
@pytest.mark.parametrize(
"delim",
(
pytest.param(SchemaRegistry._DEFAULT_DELIMITER, id="default delimiter"),
pytest.param("::", id="custom delimiter"),
),
)
def test_registry_correctly_maps_to_expected_type(delim):
registry = SchemaRegistry(delim)
registry.register("person")(Person)
registry.register("book")(Book)
person = Person(name="Bob", age=36)
Expand Down

0 comments on commit 8e27b95

Please sign in to comment.