public void TestEncoderArgs()
{
var temp = Path.GetTempFileName();
var outFileName = "outputFileName";
var args = new string[] { "encode", temp, outFileName };
var parsed = Args.ParseAction<VideoEncoderArgs>(args);
Assert.IsNull(parsed.Args.ClipArgs);
Assert.IsNotNull(parsed.Args.EncodeArgs);
Assert.AreEqual(temp, parsed.Args.EncodeArgs.Source);
Assert.AreEqual(outFileName, parsed.Args.EncodeArgs.Output);
Assert.AreEqual(Encoder.Avi, parsed.Args.EncodeArgs.Encoder);
bool called = false;
parsed.Args.EncodeArgs.Callback = () =>
{
called = true;
};
Assert.IsFalse(called);
parsed.Invoke();
Assert.IsTrue(called);
}