releases/tests/Paca.Tests/Core/TranscodingPresetEngineGateTests.cs

46 lines
1.7 KiB
C#

using System;
using Paca.Mobile.Core;
using Xunit;
namespace Paca.Tests.Core;
public class TranscodingPresetEngineGateTests
{
[Fact]
public void Gate245_TranscodingPresetEngine_BuildsRemuxArguments_WhenCompatible()
{
var args = TranscodingPresetEngine.BuildFfmpegArgs("input.mkv", "output.mp4", TranscodePreset.FastRemux);
Assert.Contains("-c:v copy", args);
Assert.Contains("-c:a copy", args);
Assert.Contains("-movflags +faststart", args);
}
[Fact]
public void Gate246_TranscodingPresetEngine_BuildsMobileCompatibilityArguments()
{
var args = TranscodingPresetEngine.BuildFfmpegArgs("input.webm", "output.mp4", TranscodePreset.MobileCompatibleH264);
Assert.Contains("-c:v libx264", args);
Assert.Contains("-c:a aac", args);
Assert.Contains("-movflags +faststart", args);
}
[Fact]
public void Gate247_TranscodingPresetEngine_BuildsAudioExtractionArguments()
{
var args = TranscodingPresetEngine.BuildFfmpegArgs("video.mp4", "audio.mp3", TranscodePreset.AudioMp3High);
Assert.Contains("-vn", args);
Assert.Contains("-c:a libmp3lame", args);
Assert.Contains("-b:a 320k", args);
}
[Fact]
public void Gate248_TranscodingPresetEngine_EstimatesOutputFilename()
{
Assert.Equal("clip.mp3", TranscodingPresetEngine.GetTargetFileName("clip.mkv", TranscodePreset.AudioMp3High));
Assert.Equal("lecture.mp4", TranscodingPresetEngine.GetTargetFileName("lecture.webm", TranscodePreset.MobileCompatibleH264));
Assert.Equal("video.mp4", TranscodingPresetEngine.GetTargetFileName("video.mkv", TranscodePreset.FastRemux));
}
}