public void IfPathIsWrong()
        {
            FolderFilesVariations filesCount = new FolderFilesVariations();
            string path = "Essad:\\";

            filesCount = GlobalFilesCalculation.GetFilesCount(path);

            Assert.That(filesCount, Is.Null);
        }
        public void GetFilesCount()
        {
            FolderFilesVariations filesCount = new FolderFilesVariations();
            string path = "E:\\";

            filesCount = GlobalFilesCalculation.GetFilesCount(path);

            Assert.That(filesCount.AllFilesCount, Is.GreaterThan(700));
        }
        public void CheckNumberOfFilesBetween50To100()
        {
            FolderFilesVariations filesCount = new FolderFilesVariations();
            string path = "E:\\";

            filesCount = GlobalFilesCalculation.GetFilesCount(path);
            var filesCountBetween50To100 = filesCount.AllFilesCount - (filesCount.FilesBetween10ANd50Mb + filesCount.FilesMoreThan100Mb + filesCount.FilesThatLessThan10Mb);

            Assert.That(filesCount.AllFilesCount, Is.GreaterThan(0));
        }
        public static FolderFilesVariations GetFilesCount(string path)
        {
            if (!FolderManager.ValidateFolderPath(path))
            {
                return(null);
            }

            int filesThatLessThan10Mb = 0;
            int filesBetween10ANd50Mb = 0;
            int filesMoreThan100Mb    = 0;

            int errCount = 0;

            var listOfFiles = GetAllFilesRecurs(path, "*.*", ref errCount);

            try
            {
                foreach (string file in listOfFiles)
                {
                    FileInfo fileInf    = new FileInfo(file);
                    long     fileLength = fileInf.Length;

                    if (fileLength <= TenMb)
                    {
                        filesThatLessThan10Mb++;
                    }

                    else if (fileLength > TenMb && fileLength <= FiftyMb)
                    {
                        filesBetween10ANd50Mb++;
                    }

                    else if (fileLength >= OneHundredMb)
                    {
                        filesMoreThan100Mb++;
                    }
                }
            }
            catch (UnauthorizedAccessException ex) { errCount++; Console.WriteLine("GetFilesCount_Unauthorized"); Console.WriteLine(ex.Message); }
            catch (PathTooLongException ex) { errCount++; Console.WriteLine("GetFilesCount_PathTooLong"); Console.WriteLine(ex.Message); }
            catch (Exception ex) { errCount++; Console.WriteLine("GetFilesCount_Exception"); Console.WriteLine(ex.Message); }

            FolderFilesVariations folderFiles = new FolderFilesVariations();

            folderFiles.Errors                = errCount;
            folderFiles.FilesMoreThan100Mb    = filesMoreThan100Mb;
            folderFiles.FilesBetween10ANd50Mb = filesBetween10ANd50Mb;
            folderFiles.FilesThatLessThan10Mb = filesThatLessThan10Mb;
            folderFiles.AllFilesCount         = listOfFiles.Count;

            return(folderFiles);
        }