@@ -1286,3 +1286,49 @@ def test_existing_analysis_warning(
12861286 fft = ShortTimeFFT (hamming (1024 ), hop = 1024 , fs = 24_000 ),
12871287 )
12881288 )
1289+
1290+
1291+ def test_rename_analysis (tmp_path : pytest .fixture , audio_files : pytest .fixture ) -> None :
1292+ dataset = Dataset (
1293+ folder = tmp_path ,
1294+ strptime_format = TIMESTAMP_FORMAT_EXPORTED_FILES_UNLOCALIZED ,
1295+ )
1296+
1297+ dataset .build ()
1298+
1299+ first_name , second_name = "fontaines" , "dc"
1300+
1301+ analysis = Analysis (
1302+ analysis_type = AnalysisType .AUDIO
1303+ | AnalysisType .SPECTROGRAM
1304+ | AnalysisType .MATRIX ,
1305+ data_duration = dataset .origin_dataset .duration / 10 ,
1306+ name = first_name ,
1307+ sample_rate = 24_000 ,
1308+ fft = ShortTimeFFT (win = hamming (1024 ), hop = 1024 , fs = 24_000 ),
1309+ )
1310+
1311+ dataset .run_analysis (analysis )
1312+
1313+ dataset .rename_analysis (first_name , second_name )
1314+
1315+ assert first_name not in dataset .analyses
1316+ assert second_name in dataset .analyses
1317+
1318+ assert len (dataset .get_datasets_by_analysis (second_name )) == 2
1319+ assert not dataset .get_datasets_by_analysis (first_name )
1320+
1321+ assert not (dataset .folder / "data" / "audio" / f"{ first_name } _audio" ).exists ()
1322+ assert (dataset .folder / "data" / "audio" / f"{ second_name } _audio" ).exists ()
1323+
1324+ assert not (dataset .folder / "processed" / first_name ).exists ()
1325+ assert (dataset .folder / "processed" / second_name ).exists ()
1326+
1327+ assert (
1328+ len (
1329+ Dataset .from_json (dataset .folder / "dataset.json" ).get_datasets_by_analysis (
1330+ second_name
1331+ )
1332+ )
1333+ == 2
1334+ )
0 commit comments