/// <summary> /// Storages the eval. /// </summary> /// <param name="validations">The validations.</param> /// <param name="progressReporter">The progress reporter.</param> /// <param name="cmdlet">The cmdlet.</param> /// <param name="outputWriters">The output writers.</param> /// <returns>INamespaceInfo.</returns> private INamespaceInfo StorageEval(IList <INamespaceValidation> validations, IProgressReporter progressReporter, ICmdlet cmdlet, IList <IOutputWriter> outputWriters) { IDirectoryInfo root = new AfsDirectoryInfo(Path); NamespaceValidationsProcessor validationsProcessor = new NamespaceValidationsProcessor(validations, outputWriters, progressReporter); List <INamespaceEnumeratorListener> namespaceEnumeratorListeners = new List <INamespaceEnumeratorListener> { validationsProcessor, }; NamespaceEnumerator namespaceEnumerator = new NamespaceEnumerator(namespaceEnumeratorListeners); var namespaceInfo = namespaceEnumerator.Run(root); return(namespaceInfo); }
private INamespaceInfo StorageEval(IList <INamespaceValidation> validations, IProgressReporter progressReporter, ICmdlet cmdlet, TextSummaryOutputWriter summaryWriter, PsObjectsOutputWriter psObjectsWriter) { IDirectoryInfo root = new AfsDirectoryInfo(this.Path); var outputWriters = new List <IOutputWriter> { psObjectsWriter, summaryWriter }; NamespaceValidationsProcessor validationsProcessor = new NamespaceValidationsProcessor(validations, outputWriters, progressReporter); List <INamespaceEnumeratorListener> namespaceEnumeratorListeners = new List <INamespaceEnumeratorListener> { validationsProcessor, }; NamespaceEnumerator namespaceEnumerator = new NamespaceEnumerator(namespaceEnumeratorListeners); var namespaceInfo = namespaceEnumerator.Run(root); return(namespaceInfo); }
public void EnumerationTotals() { var nsEnumerator = new NamespaceEnumerator(); int depth = 3; int numberOfSubdirs = 5; int numberOfFilesPerDirectory = 3; int totalBytes = 1024 * 1024; NamespaceInfo nsInfo = nsEnumerator.Run(MockFactory.DirectoryWithGivenParameters( root: "c:", depth: depth, numberOfDirectories: numberOfSubdirs, numberOfFilesPerDirectory: numberOfFilesPerDirectory, totalSize: totalBytes)); Assert.True(nsInfo != null, "namespace information was returned"); Assert.True(nsInfo.IsComplete, "namespace scan is complete"); int totalDirs = ((int)Math.Pow(numberOfSubdirs, depth + 1) - 1) / (numberOfSubdirs - 1); int totalFiles = totalDirs * numberOfFilesPerDirectory; Assert.True(nsInfo.NumberOfDirectories == totalDirs, "number of directories is as expected"); Assert.True(nsInfo.NumberOfFiles == totalFiles, "number of files is as expected"); Assert.True(nsInfo.TotalFileSizeInBytes == totalBytes, "size is as expected"); }