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

52 lines
1.7 KiB
C#

using System;
using Paca.Core;
using Xunit;
namespace Paca.Tests.Core;
public class VideoAspectAutoCropperGateTests
{
[Fact]
public void Gate337_VideoAspectAutoCropper_BuildsCenterCropFilter()
{
var filter = VideoAspectAutoCropper.BuildReframingFilterArgs(ReframingMode.CenterCrop, 1080, 1920);
Assert.Contains("crop=ih*9/16:ih", filter);
Assert.Contains("scale=1080:1920", filter);
}
[Fact]
public void Gate338_VideoAspectAutoCropper_BuildsBlurredBackgroundFilter()
{
var filter = VideoAspectAutoCropper.BuildReframingFilterArgs(ReframingMode.BlurredBackground, 1080, 1920);
Assert.Contains("split[bg][fg]", filter);
Assert.Contains("boxblur", filter);
Assert.Contains("overlay=(W-w)/2:(H-h)/2", filter);
}
[Fact]
public void Gate339_VideoAspectAutoCropper_BuildsBlackPadFilter()
{
var filter = VideoAspectAutoCropper.BuildReframingFilterArgs(ReframingMode.BlackPad, 1080, 1920);
Assert.Contains("pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black", filter);
}
[Fact]
public void Gate340_VideoAspectAutoCropper_BuildsFullCommandLine_WithAudioCopy()
{
var cmd = VideoAspectAutoCropper.BuildReframingCommandLine(
inputPath: "C:\\videos\\horizontal.mp4",
outputPath: "C:\\videos\\vertical_shorts.mp4",
mode: ReframingMode.CenterCrop,
targetWidth: 1080,
targetHeight: 1920
);
Assert.Contains("-i \"C:\\videos\\horizontal.mp4\"", cmd);
Assert.Contains("-c:v libx264 -crf 20 -preset fast", cmd);
Assert.Contains("-c:a copy", cmd);
Assert.EndsWith("\"C:\\videos\\vertical_shorts.mp4\" -y", cmd);
}
}