26 lines
933 B
TypeScript
26 lines
933 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { assignSpeakerToWord, assignSpeakersToWords } from './speakerAssignment';
|
|
|
|
describe('speakerAssignment', () => {
|
|
it('assigns each word to the speaker segment with the maximum overlap', () => {
|
|
const speakerId = assignSpeakerToWord(
|
|
{ text: 'hello', startTime: 1.0, endTime: 1.4, speakerId: 'unknown', confidence: 0.95 },
|
|
[
|
|
{ speakerId: 'spk_0', startTime: 0.8, endTime: 1.1 },
|
|
{ speakerId: 'spk_1', startTime: 1.1, endTime: 1.6 },
|
|
],
|
|
);
|
|
|
|
expect(speakerId).toBe('spk_1');
|
|
});
|
|
|
|
it('falls back to unknown when a word has no overlapping speaker segments', () => {
|
|
const words = assignSpeakersToWords(
|
|
[{ text: 'hello', startTime: 1.0, endTime: 1.4, speakerId: 'unknown', confidence: 0.95 }],
|
|
[{ speakerId: 'spk_0', startTime: 2.0, endTime: 2.5 }],
|
|
);
|
|
|
|
expect(words[0].speakerId).toBe('unknown');
|
|
});
|
|
});
|