public void ShouldSubmitAndFinishJobWithMultipleAssetAndVerifyOrderOfInputAssets()
{
// Create multiple assets, set them as parents for a job, and validate that the parent links are set.
IAsset asset1 = AssetTests.CreateAsset(_mediaContext, WindowsAzureMediaServicesTestConfiguration.SmallWmv2, AssetCreationOptions.StorageEncrypted);
IAsset asset2 = AssetTests.CreateAsset(_mediaContext, _smallWmv, AssetCreationOptions.StorageEncrypted);
IAsset asset3 = AssetTests.CreateAsset(_mediaContext, WindowsAzureMediaServicesTestConfiguration.SmallMp41, AssetCreationOptions.StorageEncrypted);
asset1.Name = "SmallWmv2";
asset2.Name = "SmallWmv";
asset3.Name = "SmallMP41";
asset1.Update();
asset2.Update();
asset3.Update();
string configuration = File.ReadAllText(WindowsAzureMediaServicesTestConfiguration.MultiConfig);
IJob job = _mediaContext.Jobs.Create("Test");
IMediaProcessor mediaProcessor = GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MpEncoderName);
ITask task = job.Tasks.AddNew("Task1", mediaProcessor, configuration, TaskOptions.None);
task.InputAssets.Add(asset1);
task.InputAssets.Add(asset2);
task.InputAssets.Add(asset3);
task.OutputAssets.AddNew("JobOutput", options: AssetCreationOptions.None);
job.Submit();
WaitForJob(job.Id, JobState.Finished, VerifyAllTasksFinished);
Assert.IsTrue(job.InputMediaAssets.Count == 3);
Assert.IsTrue(job.InputMediaAssets[0].Name == "SmallWmv2");
Assert.IsTrue(job.InputMediaAssets[1].Name == "SmallWmv");
Assert.IsTrue(job.InputMediaAssets[2].Name == "SmallMP41");
}