Microsoft.WindowsAzure.MediaServices.Client.Tests.JobTests.ShouldReportJobProgress C# (CSharp) Method

ShouldReportJobProgress() private method

private ShouldReportJobProgress ( ) : void
return void
        public void ShouldReportJobProgress()
        {
            IAsset asset = AssetTests.CreateAsset(_mediaContext, _smallWmv, AssetCreationOptions.StorageEncrypted);
            IMediaProcessor mediaProcessor = GetMediaProcessor(_mediaContext, WindowsAzureMediaServicesTestConfiguration.MpEncoderName);
            string name = GenerateName("Job 1");
            IJob job = CreateAndSubmitOneTaskJob(_mediaContext, name, mediaProcessor, GetWamePreset(mediaProcessor), asset, TaskOptions.None);
            bool progressChanged = false;
            var task = Task.Factory.StartNew(delegate
             {
                 while (!IsFinalJobState(job.State))
                 {
                     Thread.Sleep(100);
                     double progress = job.Tasks[0].Progress;
                     if (progress > 0 && progress < 100)
                     {
                         progressChanged = true;
                     }
                     job.Refresh();
                 }
             });
            task.Wait();
            task.ThrowIfFaulted();
            Assert.AreEqual(JobState.Finished, job.State);
            Assert.IsTrue(progressChanged, "Task progress has not been changed while job is expected to be finished");
        }
JobTests