File size: 1,253 Bytes
bfdf803
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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