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

44 lines
No EOL
1.5 KiB
C#

using System;
using Paca.Core;
using Xunit;
namespace Paca.Tests.Core;
public class VideoFrameRateConverterGateTests
{
[Fact]
public void Gate421_VideoFrameRateConverter_BuildsSimpleFpsFilter()
{
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.Simple);
Assert.Equal("fps=60", filter);
}
[Fact]
public void Gate422_VideoFrameRateConverter_BuildsMotionInterpolationFilter()
{
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.MotionCompensated);
Assert.Contains("minterpolate=", filter);
Assert.Contains("fps=60", filter);
Assert.Contains("mi_mode=mci", filter);
}
[Fact]
public void Gate423_VideoFrameRateConverter_BuildsBlendFilter()
{
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.FrameBlend);
Assert.Contains("tblend=all_mode=average", filter);
Assert.Contains("framerate=fps=60", filter);
}
[Fact]
public void Gate424_VideoFrameRateConverter_BuildsFullFfmpegCli()
{
var args = VideoFrameRateConverter.BuildFfmpegArgs("in.mp4", "out.mp4", 60, FrameRateConversionMode.MotionCompensated, crf: 18);
Assert.Contains("-i \"in.mp4\"", args);
Assert.Contains("-vf \"minterpolate=", args);
Assert.Contains("-c:v libx264 -crf 18", args);
Assert.Contains("-c:a copy", args);
Assert.Contains("\"out.mp4\"", args);
}
}