require_relative "helper" class TestVADContext < TestBase def test_initialize context = Whisper::VAD::Context.new("silero-v6.2.0") assert_instance_of Whisper::VAD::Context, context end def test_detect context = Whisper::VAD::Context.new("silero-v6.2.0") segments = context.detect(AUDIO, Whisper::VAD::Params.new) assert_instance_of Whisper::VAD::Segments, segments i = 0 segments.each do |segment| i += 1 assert_instance_of Whisper::VAD::Segment, segment end assert i > 0 segments.each_with_index do |segment, index| assert_instance_of Integer, index end assert_instance_of Enumerator, segments.each segment = segments.each.first assert_instance_of Float, segment.start_time assert_instance_of Float, segment.end_time segment => {start_time:, end_time:} assert_equal segment.start_time, start_time assert_equal segment.end_time, end_time assert_equal 4, segments.length end def test_invalid_model_type assert_raise TypeError do Whisper::VAD::Context.new(Object.new) end end def test_allocate vad = Whisper::VAD::Context.allocate assert_raise do vad.detect(AUDIO, Whisper::VAD::Params.new) end end end