Beispiel #1
0
    audio_stub = MagicMock()
    audio_stub.__len__.return_value = 100

    with patch('fragmentation.detect_silence',
               return_value=silence_ranges) as mock_detect_silence:

        assert split_ranges == [[
            c.silence_start, c.start, c.end
        ] for c in detect_silence_and_audible(audio_stub, 0)]
        mock_detect_silence.assert_called_once()
        assert (audio_stub, ) == mock_detect_silence.call_args[0]


HI = Sine(440).to_audio_segment(1000)
LO = HI.apply_gain(-50)

get_chunks = get_chunks.__wrapped__  # remove lru cache for testing


@pytest.mark.parametrize('chunks, target_audible_len', [
    [[Chunk(0, 1000, 5400, 0),
      Chunk(5400, 6400, 16400, 0)], 5000],
    [[
        Chunk(0, 1000, 3000, 1),
        Chunk(3000, 3400, 5400, 1),
        Chunk(5400, 6400, 16400, 0)
    ], 3000],
])
def test_get_chunks(chunks, target_audible_len):
    audio = LO + HI * 2 + LO[:400] + HI * 2 + LO + HI * 10