from __future__ import annotations import struct import unittest import discord from zyrarbot.audio.ytdl_source import FRAME_LENGTH_SECONDS, YTDLSource class DummyPCM(discord.AudioSource): def __init__(self, data: bytes): self._data = data self.cleanup_called = False def read(self) -> bytes: data = self._data self._data = b"" return data def cleanup(self) -> None: self.cleanup_called = True class TestYTDLSource(unittest.TestCase): def test_read_advances_elapsed_and_returns_data(self): # 1 sample of 16-bit stereo = 4 bytes pcm = struct.pack("