Microsoft.WindowsAzure.MediaServices.Client.Tests.AssetTests.ShouldCreateAssetAndUploadAndDownload10FilesUsingAsyncCall C# (CSharp) Method

ShouldCreateAssetAndUploadAndDownload10FilesUsingAsyncCall() private method

        public void ShouldCreateAssetAndUploadAndDownload10FilesUsingAsyncCall()
        {
            const int expected = 10;
            IAsset asset = CreateAssetAndUploadNFilesUsingAsyncCall(expected, _mediaContext,_smallWmv);
            Assert.AreEqual(expected, _mediaContext.Files.Where(c => c.ParentAssetId == asset.Id).Count());
            IAccessPolicy accessPolicy = _mediaContext.AccessPolicies.Create("SdkDownload", TimeSpan.FromHours(12), AccessPermissions.Read);
            ILocator locator = _mediaContext.Locators.CreateSasLocator(asset, accessPolicy);
            var blobTransfer = _mediaContext.MediaServicesClassFactory.GetBlobTransferClient();

            var downloads = new List<Task>();
            var paths = new List<string>();
            try
            {
                foreach (IAssetFile file in _mediaContext.Files.Where(c => c.ParentAssetId == asset.Id))
                {
                    string path = Guid.NewGuid().ToString();
                    paths.Add(path);
                    downloads.Add(file.DownloadAsync(path, blobTransfer, locator, CancellationToken.None));
                }
                Task.WaitAll(downloads.ToArray());

                int i = 0;
                foreach (Task download in downloads)
                {
                    Assert.IsTrue(download.IsCompleted);
                    Assert.IsFalse(download.IsCanceled);
                    Assert.IsNull(download.Exception);
                    Assert.IsTrue(File.Exists(paths[i]));
                    i++;
                }
            }
            finally
            {
                paths.ForEach(f => { if (File.Exists(f)) File.Delete(f); });
            }
        }
AssetTests