Files
scribe/scraibe/test/test_diarisation.py
T
2024-03-21 09:29:37 +01:00

42 lines
1.2 KiB
Python

import pytest
import os
from unittest import mock
from scraibe import Diariser
@pytest.fixture
def diariser_instance():
"""Creates a instance of the Diariser Object for further testing
Returns:
Object: Diariser Object for handling the diarization process of an audio file using a pretrained model from pyannote.audio. Diarization is the task of determining "who spoke when."
"""
with mock.patch.object(Diariser, '_get_token', return_value = 'personal Hugging-Face token')
return Diariser('pyannote')
def test_Diariser_init(diariser_instance):
"""Tests if the Diariser gets initiated correctly
Args:
diariser_instance (obj): instance of the Diariser object
"""
assert diariser_instance.model == 'pyannote'
def test_diarisation_function(diariser_instance):
"""tests if the Diariser works object with an example audio File
Args:
diariser_instance (obj): instance of the Diariser object
"""
with mock.patch.object(diariser_instance.model, 'apply', return_value='diarization_result'):
diarization_output = diariser_instance.diarization('example_audio_file.wav')
assert diarization_output == 'diarization_result'