public async Task GivenAValidDirectoryName_WhenDeleteIfExists_DirectoryAndBlobsShouldBeDeleted()
        {
            var uniqueContainerName             = Guid.NewGuid().ToString("N");
            AzureBlobContainerClient adlsClient = GetTestAdlsGen2Client(uniqueContainerName);

            Skip.If(adlsClient == null);

            var blobContainerClient = GetBlobContainerClient(uniqueContainerName);

            blobContainerClient.CreateIfNotExists();

            try
            {
                var blobName = "foo/bar1/1.txt";
                await blobContainerClient.UploadBlobAsync(blobName, new MemoryStream(new byte[] { 1, 2, 3 }));

                var blobClient = blobContainerClient.GetBlobClient(blobName);
                Assert.True(blobClient.Exists());
                await adlsClient.DeleteDirectoryIfExistsAsync("foo/bar1");

                Assert.False(blobClient.Exists());
            }
            finally
            {
                await blobContainerClient.DeleteAsync();
            }
        }
        public async Task GivenANotExistingDirectoryName_WhenDeleteIfExists_NoExceptionShouldBeThrown()
        {
            var uniqueContainerName             = Guid.NewGuid().ToString("N");
            AzureBlobContainerClient adlsClient = GetTestAdlsGen2Client(uniqueContainerName);

            Skip.If(adlsClient == null);

            var blobContainerClient = GetBlobContainerClient(uniqueContainerName);

            blobContainerClient.CreateIfNotExists();

            try
            {
                var exception = await Record.ExceptionAsync(async() => await adlsClient.DeleteDirectoryIfExistsAsync("foldernotexist"));

                Assert.Null(exception);
            }
            finally
            {
                await blobContainerClient.DeleteAsync();
            }
        }