def test_existing_dataset_using_use_existing(tmpdir): """ Use the use_existing parameter to load configurations from existing dataset. """ kaldi = KaldiInterface(f'{tmpdir}/state') ds1 = kaldi.new_dataset('dataset_x') ds1_hash = ds1.hash ds2 = kaldi.new_dataset('dataset_x', use_existing=True) assert len(kaldi.list_datasets()) == 1 assert ds1_hash == ds2.hash assert ds1.path == ds2.path return
def test_existing_dataset_using_override(tmpdir): """ Use override to delete a dataset with the same name and create a totally new dataset with the same name. """ kaldi = KaldiInterface(f'{tmpdir}/state') ds1 = kaldi.new_dataset('dataset_x') ds1_hash = ds1.hash ds2 = kaldi.new_dataset('dataset_x', override=True) # note ds1 can no longer be used assert len(kaldi.list_datasets()) == 1 assert ds1_hash != ds2.hash return
def test_new_dataset_using_override(tmpdir): """ Using override has no effect when the dataset with the same name does not exist. """ kaldi = KaldiInterface(f'{tmpdir}/state') ds = kaldi.new_dataset('dataset_x', override=True) # White-box testing, contains empty child directories "original" and # "resampled". path_to_original = Path(f'{tmpdir}/state/datasets/{ds.hash}/original') assert path_to_original.is_dir() assert [n for n in path_to_original.iterdir()] == [] path_to_resampled = Path(f'{tmpdir}/state/datasets/{ds.hash}/resampled') assert path_to_resampled.is_dir() assert [n for n in path_to_resampled.iterdir()] == [] # Interface only has record of one dataset assert len(kaldi.list_datasets()) == 1 return