public void PipelineCreatingMultipleDirectoriesWhileSomeDirectoryExistsTest()
        {
            int numberOfDirectories = this.randomProvider.Next(2, 33);

            int[]    indexes = Enumerable.Range(0, numberOfDirectories).ToArray();
            string[] names   = indexes.Select(i => CloudFileUtil.GenerateUniqueDirectoryName()).ToArray();
            int      numberOfExistingDirectories = this.randomProvider.Next(1, numberOfDirectories);

            List <int> indexToBeRemoved = new List <int>(indexes);

            for (int i = 0; i < numberOfExistingDirectories; i++)
            {
                int id = this.randomProvider.Next(indexToBeRemoved.Count);
                fileUtil.EnsureDirectoryExists(this.fileShare, names[indexToBeRemoved[id]]);
                indexToBeRemoved.RemoveAt(id);
            }

            CommandAgent.NewDirectoryFromPipeline(this.fileShare.Name);
            var result = CommandAgent.Invoke(names);

            // A total number of "numberOfExistingDirectories" errors should throw while others should success.
            CommandAgent.AssertErrors(err => err.AssertError(AssertUtil.ResourceAlreadyExistsFullQualifiedErrorId), numberOfExistingDirectories);

            // Assert all directories are created
            foreach (string name in names)
            {
                fileUtil.AssertDirectoryExists(this.fileShare, name, string.Format("Directory {0} should exist after created.", name));
            }
        }
        public void PipelineMultipleDirectoryNamesTest()
        {
            // TODO: Generate more random names for file shares after the
            // naming rules is settled down.
            int numberOfDirectories = this.randomProvider.Next(2, 33);

            string[] names = Enumerable.Range(0, numberOfDirectories)
                             .Select(i => CloudFileUtil.GenerateUniqueDirectoryName()).ToArray();

            CommandAgent.NewDirectoryFromPipeline(this.fileShare.Name);
            var result = CommandAgent.Invoke(names);

            CommandAgent.AssertNoError();
            result.AssertObjectCollection(obj => obj.AssertCloudFileDirectory(new List <string>(names)), numberOfDirectories);
        }