From a148c958bf18931fc77358397f09b711aedaabba Mon Sep 17 00:00:00 2001 From: Antoine Karcher Date: Wed, 25 Sep 2024 15:50:42 +0200 Subject: [PATCH 1/2] expose cast for fields container --- src/ansys/dpf/core/any.py | 6 ++++++ tests/test_any.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/ansys/dpf/core/any.py b/src/ansys/dpf/core/any.py index ad60e8b983..aec71d740a 100644 --- a/src/ansys/dpf/core/any.py +++ b/src/ansys/dpf/core/any.py @@ -122,6 +122,7 @@ def _type_to_new_from_get_as_method(self, obj): data_tree, custom_type_field, collection, + fields_container ) if issubclass(obj, int): @@ -190,6 +191,11 @@ def _type_to_new_from_get_as_method(self, obj): self._api.any_new_from_int_collection, self._api.any_get_as_int_collection, ) + elif issubclass(obj, fields_container.FieldsContainer): + return ( + self._api.any_new_from_fields_container, + self._api.any_get_as_fields_container + ) @staticmethod def new_from(obj, server=None): diff --git a/tests/test_any.py b/tests/test_any.py index bf3897fe1f..e00aad6b53 100644 --- a/tests/test_any.py +++ b/tests/test_any.py @@ -120,3 +120,13 @@ def test_cast_scoping_any(server_type): new_entity = any_dpf.cast() assert entity.location == new_entity.location + +@conftest.raises_for_servers_version_under("7.0") +def test_cast_fields_container_any(server_type): + fc = dpf.FieldsContainer(server=server_type) + fc.labels = ["time"] + fc.add_field({"time": 0}, dpf.Field(nentities=5,server=server_type)) + any_dpf = dpf.Any.new_from(fc) + + entity: dpf.FieldsContainer = any_dpf.cast() + assert entity.get_field({"time":0}).size == 5 \ No newline at end of file From cd3964ae2be56c3ba95ca4d6a92d7a37bbafa49a Mon Sep 17 00:00:00 2001 From: Antoine Karcher Date: Wed, 25 Sep 2024 16:12:03 +0200 Subject: [PATCH 2/2] update test --- tests/test_any.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test_any.py b/tests/test_any.py index e00aad6b53..f666ea6914 100644 --- a/tests/test_any.py +++ b/tests/test_any.py @@ -125,8 +125,11 @@ def test_cast_scoping_any(server_type): def test_cast_fields_container_any(server_type): fc = dpf.FieldsContainer(server=server_type) fc.labels = ["time"] - fc.add_field({"time": 0}, dpf.Field(nentities=5,server=server_type)) + + field1 = dpf.Field(nentities=2,server=server_type) + field1.data = [1, 2, 3, 4, 5, 6] + fc.add_field({"time": 0}, field1) any_dpf = dpf.Any.new_from(fc) entity: dpf.FieldsContainer = any_dpf.cast() - assert entity.get_field({"time":0}).size == 5 \ No newline at end of file + assert entity.get_field({"time":0}).size == 6 \ No newline at end of file