Example #1
0
        // Initialize the directories as below
        // - root
        //    - root-file1.text     1 MB
        //    - root-file2.text     3 MB
        //    - sub-1
        //        - sub file1.txt   2 MB + 1 byte
        //        - sub file2.txt   2 MB - 1 byte
        //    - sub-2
        //        - sub file3.txt   1 MB
        //        - sub file4.txt   1 MB
        private void InitialElementList()
        {
            _RootFolder = new FolderElement("root");
            _RootFile1  = new FileElement("root-file1.text", OneMb);
            _RootFile2  = new FileElement("root-file1.text", 3 * OneMb);

            _SubFolder1 = new FolderElement("sub-1");
            _SubFile1   = new FileElement("sub file1.txt", 2 * OneMb + 1);
            _SubFile2   = new FileElement("sub file2.txt", 2 * OneMb - 1);
            _SubFolder1.Add(_SubFile1);
            _SubFolder1.Add(_SubFile2);

            _SubFolder2 = new FolderElement("sub-2");
            _SubFile3   = new FileElement("sub file3.txt", OneMb);
            _SubFile4   = new FileElement("sub file4.txt", OneMb);
            _SubFolder2.Add(_SubFile3);
            _SubFolder2.Add(_SubFile4);

            _RootFolder.Add(_RootFile1);
            _RootFolder.Add(_RootFile2);
            _RootFolder.Add(_SubFolder1);
            _RootFolder.Add(_SubFolder2);

            _SizeCounterViewModel.ElementList.Add(_RootFolder);
        }
Example #2
0
        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);
        }
        private static FileElement AddNewFile(FolderElement folderElement, string fileName, int fileSize)
        {
            var fileElement = new FileElement(fileName, fileSize);

            folderElement.Add(fileElement);

            return(fileElement);
        }
        // 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 Parent_AddFolderBToFolderA_AShouldBeParentOfB()
        {
            // arrange
            var rootFolder = new FolderElement("root");

            rootFolder.Add(_FolderElementTested);

            Assert.AreSame(rootFolder, _FolderElementTested.Parent);
        }
Example #7
0
        public void InspectFor2ndTime_PreviousSettingsWereKept()
        {
            // Arrange

            // settings base on the initial element list
            _SizeCounterViewModel.SizeFilterValue     = "2";
            _SizeCounterViewModel.HighlightElements   = true;
            _SizeCounterViewModel.HideSmallerElements = true;

            // settings for mocking the inspecting result
            var rootFolder   = new FolderElement("root");
            var fileElement1 = new FileElement("file1.log", OneMb);
            var fileElement2 = new FileElement("file2.log", 3 * OneMb);

            rootFolder.Add(fileElement1);
            rootFolder.Add(fileElement2);
            rootFolder.IsExpanded = false;

            _BusyIndicatorWindowStub.ExecuteAndWait(Arg.Any <string>(), Arg.Any <Func <FolderElement> >())
            .Returns(rootFolder);
            _BusyIndicatorWindowStub.IsSuccessfullyExecuted.Returns(true);

            // Act
            _SizeCounterViewModel.StartCmd.Execute(null);

            // Assert
            Assert.AreSame(rootFolder, _SizeCounterViewModel.ElementList[0]);
            Assert.IsTrue(rootFolder.IsExpanded);

            // Verify the previous settings
            Assert.IsTrue(rootFolder.IsVisible);
            Assert.IsFalse(rootFolder.ShouldBeHighlighted);

            Assert.IsFalse(fileElement1.IsVisible);
            Assert.IsFalse(fileElement1.ShouldBeHighlighted);

            Assert.IsTrue(fileElement2.IsVisible);
            Assert.IsTrue(fileElement2.ShouldBeHighlighted);
        }
        public void Add_AddFileTo2LevelFolders_TheRootEmptyFolderSizeIsCorrect()
        {
            var rootFolder       = new FolderElement("root");
            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(1000, rootFolder.Size);
        }
        public void Remove_AddFileTo2LevelFoldersAndThenRemoveTheRootFile_TheRootFolderSizeIsCorrect()
        {
            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, 1000);

            // act
            rootFolder.Remove(rootFile);

            Assert.AreEqual(1000, rootFolder.Size);
        }
        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);
        }
        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]);
        }
        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]);
        }