@@ -66,6 +66,12 @@ def test_SortingAnalyzer_memory(tmp_path, dataset):
6666 )
6767 assert not sorting_analyzer .return_scaled
6868
69+ # test set_unit_property
70+ sorting_analyzer .set_unit_property (key = "quality" , values = ["good" ] * len (sorting_analyzer .unit_ids ))
71+ sorting_analyzer .set_unit_property (key = "number" , values = np .arange (len (sorting_analyzer .unit_ids )))
72+ assert "quality" in sorting_analyzer .sorting .get_property_keys ()
73+ assert "number" in sorting_analyzer .sorting .get_property_keys ()
74+
6975
7076def test_SortingAnalyzer_binary_folder (tmp_path , dataset ):
7177 recording , sorting = dataset
@@ -103,6 +109,15 @@ def test_SortingAnalyzer_binary_folder(tmp_path, dataset):
103109 assert not sorting_analyzer .return_scaled
104110 _check_sorting_analyzers (sorting_analyzer , sorting , cache_folder = tmp_path )
105111
112+ # test set_unit_property
113+ sorting_analyzer .set_unit_property (key = "quality" , values = ["good" ] * len (sorting_analyzer .unit_ids ))
114+ sorting_analyzer .set_unit_property (key = "number" , values = np .arange (len (sorting_analyzer .unit_ids )))
115+ assert "quality" in sorting_analyzer .sorting .get_property_keys ()
116+ assert "number" in sorting_analyzer .sorting .get_property_keys ()
117+ sorting_analyzer_reloded = load_sorting_analyzer (folder , format = "auto" )
118+ assert "quality" in sorting_analyzer_reloded .sorting .get_property_keys ()
119+ assert "number" in sorting_analyzer .sorting .get_property_keys ()
120+
106121
107122def test_SortingAnalyzer_zarr (tmp_path , dataset ):
108123 recording , sorting = dataset
@@ -176,6 +191,15 @@ def test_SortingAnalyzer_zarr(tmp_path, dataset):
176191 == LZMA .codec_id
177192 )
178193
194+ # test set_unit_property
195+ sorting_analyzer .set_unit_property (key = "quality" , values = ["good" ] * len (sorting_analyzer .unit_ids ))
196+ sorting_analyzer .set_unit_property (key = "number" , values = np .arange (len (sorting_analyzer .unit_ids )))
197+ assert "quality" in sorting_analyzer .sorting .get_property_keys ()
198+ assert "number" in sorting_analyzer .sorting .get_property_keys ()
199+ sorting_analyzer_reloded = load_sorting_analyzer (sorting_analyzer .folder , format = "auto" )
200+ assert "quality" in sorting_analyzer_reloded .sorting .get_property_keys ()
201+ assert "number" in sorting_analyzer .sorting .get_property_keys ()
202+
179203
180204def test_load_without_runtime_info (tmp_path , dataset ):
181205 import zarr
@@ -262,9 +286,6 @@ def _check_sorting_analyzers(sorting_analyzer, original_sorting, cache_folder):
262286 assert "sampling_frequency" in sorting_analyzer .rec_attributes
263287 assert "num_samples" in sorting_analyzer .rec_attributes
264288
265- probe = sorting_analyzer .get_probe ()
266- sparsity = sorting_analyzer .sparsity
267-
268289 # compute
269290 sorting_analyzer .compute ("dummy" , param1 = 5.5 )
270291 # equivalent
@@ -367,6 +388,9 @@ def _check_sorting_analyzers(sorting_analyzer, original_sorting, cache_folder):
367388 else :
368389 folder = None
369390 sorting_analyzer4 = sorting_analyzer .merge_units (merge_unit_groups = [[0 , 1 ]], format = format , folder = folder )
391+ assert 0 not in sorting_analyzer4 .unit_ids
392+ assert 1 not in sorting_analyzer4 .unit_ids
393+ assert len (sorting_analyzer4 .unit_ids ) == len (sorting_analyzer .unit_ids ) - 1
370394
371395 if format != "memory" :
372396 if format == "zarr" :
@@ -380,6 +404,10 @@ def _check_sorting_analyzers(sorting_analyzer, original_sorting, cache_folder):
380404 sorting_analyzer5 = sorting_analyzer .merge_units (
381405 merge_unit_groups = [[0 , 1 ]], new_unit_ids = [50 ], format = format , folder = folder , merging_mode = "hard"
382406 )
407+ assert 0 not in sorting_analyzer5 .unit_ids
408+ assert 1 not in sorting_analyzer5 .unit_ids
409+ assert len (sorting_analyzer5 .unit_ids ) == len (sorting_analyzer .unit_ids ) - 1
410+ assert 50 in sorting_analyzer5 .unit_ids
383411
384412 # test compute with extension-specific params
385413 sorting_analyzer .compute (["dummy" ], extension_params = {"dummy" : {"param1" : 5.5 }})
0 commit comments