@@ -114,77 +114,78 @@ def test_set_get_field_def_custom_type_field(server_type):
114114 assert field .name == "thing"
115115
116116
117- # @conftest.raises_for_servers_version_under("5.0")
118- # def test_mutable_data_custom_type_field(server_clayer):
119- # field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
120- # field_def = dpf.core.FieldDefinition(server=server_clayer)
121- # field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
122- # field.field_definition = field_def
123- # scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
124- # field.scoping = scop
125- #
126- # data = np.empty((24,), dtype=np.float64)
127- # for i in range(0, 24):
128- # data[i] = i
129- # field.data = data
130- # field._data_pointer = [0, 6, 12, 18]
131- #
132- # vec = field.get_entity_data(0)
133- # assert np.allclose(vec, np.array(range(0, 6)).reshape(2, 3))
134- #
135- # vec[0][0] = 1
136- # vec[1][2] = 4
137- #
138- # assert np.allclose(vec, np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
139- #
140- # vec.commit()
141- #
142- # assert np.allclose(field.get_entity_data(0), np.array([1, 1, 2, 3, 4, 4]).reshape(2, 3))
143- #
144- # vec = field.get_entity_data_by_id(2)
145- # assert np.allclose(vec, np.array(range(6, 12)).reshape(2, 3))
146- #
147- # vec[0][0] = 1
148- # vec[1][2] = 4
149- # assert np.allclose(vec, np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3))
150- # vec = None
151- # assert np.allclose(field.get_entity_data_by_id(2), np.array([1, 7, 8, 9, 10, 4]).reshape(2, 3)
152- # )
153-
154- # # not using a fixture on purpose: the instance of simple field SHOULD be owned by each test
155- # def get_float_field(server_clayer):
156- # field = dpf.core.CustomTypeField(np.float64, nentities=20, server=server_clayer)
157- # field_def = dpf.core.FieldDefinition(server=server_clayer)
158- # field_def.dimensionality = dpf.core.Dimensionality({3}, dpf.core.natures.vector)
159- # field.field_definition = field_def
160- # scop = dpf.core.Scoping(ids=[1, 2, 3, 4], location="faces", server=server_clayer)
161- # field.scoping = scop
162- #
163- # data = np.empty((24,), dtype=np.float64)
164- # for i in range(0, 24):
165- # data[i] = i
166- # field.data = data
167- # field._data_pointer = [0, 6, 12, 18]
168- # return field
169-
170-
171- # @conftest.raises_for_servers_version_under("5.0")
172- # def test_mutable_data_pointer_custom_type_field(server_clayer):
173- # float_field = get_float_field(server_clayer)
174- # assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
175- # assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
176- # vec = float_field._data_pointer
177- # vec[1] = 9
178- # vec[2] = 15
179- # vec.commit()
180- #
181- # assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 9)).reshape(3, 3))
182- # assert np.allclose(float_field.get_entity_data(1), np.array(range(9, 15)).reshape(2, 3))
183- # vec[1] = 6
184- # vec[2] = 12
185- # vec = None
186- # assert np.allclose(float_field.get_entity_data(0), np.array(range(0, 6)).reshape(2, 3))
187- # assert np.allclose(float_field.get_entity_data(1), np.array(range(6, 12)).reshape(2, 3))
117+ @conftest .raises_for_servers_version_under ("5.0" )
118+ def test_mutable_data_custom_type_field (server_clayer ):
119+ field = dpf .core .CustomTypeField (np .float64 , nentities = 20 , server = server_clayer )
120+ field_def = dpf .core .FieldDefinition (server = server_clayer )
121+ field_def .dimensionality = dpf .core .Dimensionality ({3 }, dpf .core .natures .vector )
122+ field .field_definition = field_def
123+ scop = dpf .core .Scoping (ids = [1 , 2 , 3 , 4 ], location = "faces" , server = server_clayer )
124+ field .scoping = scop
125+
126+ data = np .empty ((24 ,), dtype = np .float64 )
127+ for i in range (0 , 24 ):
128+ data [i ] = i
129+ field .data = data
130+ field ._data_pointer = [0 , 6 , 12 , 18 ]
131+
132+ vec = field .get_entity_data (0 )
133+ assert np .allclose (vec , np .array (range (0 , 6 )).reshape (2 , 3 ))
134+
135+ vec [0 ][0 ] = 1
136+ vec [1 ][2 ] = 4
137+
138+ assert np .allclose (vec , np .array ([1 , 1 , 2 , 3 , 4 , 4 ]).reshape (2 , 3 ))
139+
140+ vec .commit ()
141+
142+ assert np .allclose (field .get_entity_data (0 ), np .array ([1 , 1 , 2 , 3 , 4 , 4 ]).reshape (2 , 3 ))
143+
144+ vec = field .get_entity_data_by_id (2 )
145+ assert np .allclose (vec , np .array (range (6 , 12 )).reshape (2 , 3 ))
146+
147+ vec [0 ][0 ] = 1
148+ vec [1 ][2 ] = 4
149+ assert np .allclose (vec , np .array ([1 , 7 , 8 , 9 , 10 , 4 ]).reshape (2 , 3 ))
150+ vec = None
151+ assert np .allclose (field .get_entity_data_by_id (2 ), np .array ([1 , 7 , 8 , 9 , 10 , 4 ]).reshape (2 , 3 )
152+ )
153+
154+
155+ # not using a fixture on purpose: the instance of simple field SHOULD be owned by each test
156+ def get_float_field (server_clayer ):
157+ field = dpf .core .CustomTypeField (np .float64 , nentities = 20 , server = server_clayer )
158+ field_def = dpf .core .FieldDefinition (server = server_clayer )
159+ field_def .dimensionality = dpf .core .Dimensionality ({3 }, dpf .core .natures .vector )
160+ field .field_definition = field_def
161+ scop = dpf .core .Scoping (ids = [1 , 2 , 3 , 4 ], location = "faces" , server = server_clayer )
162+ field .scoping = scop
163+
164+ data = np .empty ((24 ,), dtype = np .float64 )
165+ for i in range (0 , 24 ):
166+ data [i ] = i
167+ field .data = data
168+ field ._data_pointer = [0 , 6 , 12 , 18 ]
169+ return field
170+
171+
172+ @conftest .raises_for_servers_version_under ("5.0" )
173+ def test_mutable_data_pointer_custom_type_field (server_clayer ):
174+ float_field = get_float_field (server_clayer )
175+ assert np .allclose (float_field .get_entity_data (0 ), np .array (range (0 , 6 )).reshape (2 , 3 ))
176+ assert np .allclose (float_field .get_entity_data (1 ), np .array (range (6 , 12 )).reshape (2 , 3 ))
177+ vec = float_field ._data_pointer
178+ vec [1 ] = 9
179+ vec [2 ] = 15
180+ vec .commit ()
181+
182+ assert np .allclose (float_field .get_entity_data (0 ), np .array (range (0 , 9 )).reshape (3 , 3 ))
183+ assert np .allclose (float_field .get_entity_data (1 ), np .array (range (9 , 15 )).reshape (2 , 3 ))
184+ vec [1 ] = 6
185+ vec [2 ] = 12
186+ vec = None
187+ assert np .allclose (float_field .get_entity_data (0 ), np .array (range (0 , 6 )).reshape (2 , 3 ))
188+ assert np .allclose (float_field .get_entity_data (1 ), np .array (range (6 , 12 )).reshape (2 , 3 ))
188189
189190
190191@conftest .raises_for_servers_version_under ("5.0" )
0 commit comments