private static FileElement AddNewFile(FolderElement folderElement, string fileName, int fileSize) { var fileElement = new FileElement(fileName, fileSize); folderElement.Add(fileElement); return fileElement; }
public void IsSelected_ChangeThePropertyValue_ValueIsSetCorrectly() { var folerElement = new FolderElement("folder"); folerElement.IsSelected = true; Assert.IsTrue(folerElement.IsSelected); folerElement.IsSelected = false; Assert.IsFalse(folerElement.IsSelected); }
private FolderElement InspectDirectory() { Stack <FolderElement> stack = new Stack <FolderElement>(); var rootElement = new FolderElement(TargetDirectory); stack.Push(rootElement); var errors = new StringBuilder(); while (stack.Count > 0) { try { var currentFolderElement = stack.Pop(); var directoryName = currentFolderElement.Name; var fileEntries = Directory.EnumerateFiles(directoryName); foreach (var fileName in fileEntries) { var fileInfo = new FileInfo(fileName); var fileElement = new FileElement(fileName, fileInfo.Length); currentFolderElement.Add(fileElement); _BusyWindow.ShowCurrentInspectingElement(fileName); } var subDirectoryEntries = Directory.EnumerateDirectories(directoryName); foreach (var subDirectory in subDirectoryEntries) { var folderElement = new FolderElement(subDirectory); currentFolderElement.Add(folderElement); _BusyWindow.ShowCurrentInspectingElement(subDirectory); stack.Push(folderElement); } } catch (UnauthorizedAccessException ex) { errors.AppendLine(ex.Message); } catch (FileNotFoundException ex) { errors.AppendLine(ex.Message); } catch (Exception ex) { errors.AppendLine(ex.Message); } } ProcessDetailedErrors = errors.ToString(); return(rootElement); }
public void Size_IncreseElementSize_ParentSizeAlsoIncreased() { var folderElement = new FolderElement("root"); var fileElement1 = new FileElement("file1.txt", 10); var fileElement2 = new FileElement("file2.txt", 50); folderElement.Add(fileElement1); folderElement.Add(fileElement2); // change the size from 10 to 100 fileElement1.Size = 100; Assert.AreEqual(150, folderElement.Size); }
public void Add_CreateNewFolderThenAddANewFolder_TheFolderSizeIsZero() { // arrange var folder1 = new FolderElement("f1"); // assign _FolderElementTested.Add(folder1); // assert var actual = _FolderElementTested.Size; var expected = 0; Assert.AreEqual(expected, actual); }
// Initialize the directories as below // - root // - root-file1.text // - root-file2.text // - sub // - sub file1.txt // - sub file2.txt private void InitTheElementsList() { var rootFolder = new FolderElement("root"); var rootFile1 = new FileElement("root-file1.text", 100); var rootFile2 = new FileElement("root-file1.text", 100); var subFolder = new FolderElement("sub"); var subFile1 = new FileElement("sub file1.txt", 300); var subFile2 = new FileElement("sub file2.txt", 400); rootFolder.Add(rootFile1); rootFolder.Add(rootFile2); rootFolder.Add(subFolder); subFolder.Add(subFile1); subFolder.Add(subFile2); _SizeCounterViewModel.ElementList.Add(rootFolder); }
public void Init() { _FolderElementTested = new FolderElement("folder element"); }
public void Add_CreateNewFolderThenAddAFolderIncludesFile_TheFolderSizeIsIncreased() { // arrange var folder1 = new FolderElement("f1"); AddNewFile(folder1, 100); // assign _FolderElementTested.Add(folder1); // assert var actual = _FolderElementTested.Size; var expected = 100; Assert.AreEqual(expected, actual); }
public void ShortName_TestForOnlyRootPathEndWithSlash_TheRootPathWithSlashIsTheShortName() { var testPath = @"C:\"; var folderElement = new FolderElement(testPath); var expected = @"C:\"; var actual = folderElement.ShortName; Assert.AreEqual(expected, actual); }
public void ShortName_TestForOnlyNormalPathEndWithSlash_TheLastFolderNameIsTheShortName() { var testPath = @"C:\Folder1\"; var folderElement = new FolderElement(testPath); var expected = @"Folder1"; var actual = folderElement.ShortName; Assert.AreEqual(expected, actual); }
public void Add_AddFileTo2LevelFolders_TheRootFolderSizeIsCorrect() { var rootFolder = new FolderElement("root"); AddNewFile(rootFolder, 100); var leafLevel1Folder = new FolderElement("Leaf_Level_1"); var leafLevel2Folder = new FolderElement("Leaf_Level_2"); rootFolder.Add(leafLevel1Folder); leafLevel1Folder.Add(leafLevel2Folder); AddNewFile(leafLevel2Folder, 1000); Assert.AreEqual(1100, rootFolder.Size); }
private void ParseDirectory(string directory, FolderElement currentFolderElement) { //TODO: change the recursive to do-while var fileEntries = Directory.GetFiles(directory); foreach (var fileName in fileEntries) { var fileInfo = new FileInfo(fileName); var fileElement = new FileElement(fileName, fileInfo.Length); currentFolderElement.Add(fileElement); } var subDirectoryEntries = Directory.GetDirectories(directory); foreach (var subDirectory in subDirectoryEntries) { var folderElement = new FolderElement(subDirectory); currentFolderElement.Add(folderElement); ParseDirectory(subDirectory, folderElement); } }
public void Children_AddFileTo2LevelFolders_TheChildrenAreAllRight() { var rootFolder = new FolderElement("root"); var rootFile = AddNewFile(rootFolder, "rootFile", 100); var leafLevel1Folder = new FolderElement("Leaf_Level_1"); var leafLevel2Folder = new FolderElement("Leaf_Level_2"); rootFolder.Add(leafLevel1Folder); leafLevel1Folder.Add(leafLevel2Folder); // act var actualChildrenCount = rootFolder.Children.Count; Assert.AreEqual(2, actualChildrenCount); Assert.AreSame(rootFile, rootFolder.Children[0]); Assert.AreSame(leafLevel1Folder, rootFolder.Children[1]); Assert.AreEqual(1, leafLevel1Folder.Children.Count); Assert.AreSame(leafLevel2Folder, leafLevel1Folder.Children[0]); }
public void Parent_AddFolderBToFolderA_AShouldBeParentOfB() { // arrange var rootFolder = new FolderElement("root"); rootFolder.Add(_FolderElementTested); Assert.AreSame(rootFolder, _FolderElementTested.Parent); }
private static FileElement AddNewFile(FolderElement folderElement, int fileSize) { return AddNewFile(folderElement, "file1", fileSize); }
public void Remove_AddFileTo2LevelFoldersAndThenRemoveTheSubLevelFolder_TheRootFolderSizeIsCorrect() { var rootFolder = new FolderElement("root"); AddNewFile(rootFolder, "rootFile", 100); var leafLevel1Folder = new FolderElement("Leaf_Level_1"); var leafLevel2Folder = new FolderElement("Leaf_Level_2"); rootFolder.Add(leafLevel1Folder); leafLevel1Folder.Add(leafLevel2Folder); AddNewFile(leafLevel2Folder, "leaf2", 1000); // act rootFolder.Remove(leafLevel1Folder); Assert.AreEqual(100, rootFolder.Size); }
public void Remove_RemoveExistingFolder_SizeIsRecalculated() { // arrange var folder1 = new FolderElement("f1"); AddNewFile(folder1, 100); _FolderElementTested.Add(folder1); AddNewFile(_FolderElementTested, 200); // assign _FolderElementTested.Remove(folder1); // asset Assert.AreEqual(200, _FolderElementTested.Size); }
public void Children_AddFileTo2LevelFoldersAndThenRemoveTheSubLevelFolder_TheChildrenAreUpdated() { var rootFolder = new FolderElement("root"); var rootFile = AddNewFile(rootFolder, "rootFile", 100); var leafLevel1Folder = new FolderElement("Leaf_Level_1"); var leafLevel2Folder = new FolderElement("Leaf_Level_2"); rootFolder.Add(leafLevel1Folder); leafLevel1Folder.Add(leafLevel2Folder); AddNewFile(leafLevel2Folder, "leaf2", 1000); // act rootFolder.Remove(leafLevel1Folder); Assert.AreEqual(1, rootFolder.Children.Count); Assert.AreSame(rootFile, rootFolder.Children[0]); }
private FolderElement InspectDirectory() { var rootElement = new FolderElement(TargetDirectory); ParseDirectory(TargetDirectory, rootElement); return rootElement; }
public void Add_AddFileToFolder_FolderParentSizeShouldRecalculate() { // arrange var rootFolder = new FolderElement("root"); rootFolder.Add(_FolderElementTested); // assign const int fileSize = 100; AddNewFile(_FolderElementTested, fileSize); // assert var actual = _FolderElementTested.Parent.Size; var expected = fileSize; Assert.AreEqual(expected, actual); }