Files
stream-shorts/tests/StreamShorts.Library.Tests/Integration/Media/Audio/AudioExtractorTests.cs
T

29 lines
885 B
C#
Raw Normal View History

namespace StreamShorts.Library.Tests.Integration.Media.Audio;
2025-08-20 15:00:32 -05:00
public class AudioExtractorTests
{
private readonly AudioExtractor _sut = new();
[Fact]
public async Task ExtractMp3FromMp4Async_WhenCalled_ItShouldExtractAudio()
{
using var testVideo = TestData.GetTestVideo();
using var extractedAudio = TestData.GetExtractedAudio();
using var audioStream = new MemoryStream();
var result = await _sut.ExtractMp3FromMp4Async(testVideo, audioStream);
var audioBytes = await ConvertStreamToBytesAsync(extractedAudio);
var resultBytes = await ConvertStreamToBytesAsync(result);
resultBytes.Should().Equal(audioBytes);
result.Should().BeSameAs(audioStream);
}
private static async Task<byte[]> ConvertStreamToBytesAsync(Stream stream)
{
using var ms = new MemoryStream();
await stream.CopyToAsync(ms);
return ms.ToArray();
}
}