Esempio n. 1
0
        public void SplitValuesTest_StringEmpty_ReturnEmpty()
        {
            SplitValues split  = new SplitValues(delimeter);
            var         values = split.Split(string.Empty);

            Assert.AreEqual(0, values.Count());
        }
Esempio n. 2
0
        public void SplitValuesTest_OneValue_ReturnValue()
        {
            SplitValues split  = new SplitValues(delimeter);
            var         values = split.Split("shoes");

            Assert.AreEqual(1, values.Count());
            Assert.AreEqual("shoes", values.ElementAt(0));
        }
Esempio n. 3
0
        public void SplitValuesTest_TwoValues_ReturnValues()
        {
            SplitValues split  = new SplitValues(delimeter);
            var         values = split.Split("shoes|sandals");

            Assert.AreEqual(2, values.Count());
            Assert.AreEqual("shoes", values.ElementAt(0));
            Assert.AreEqual("sandals", values.ElementAt(1));
        }
Esempio n. 4
0
 public void SplitValuesTest_TwoValuesWrongDelimeterDiv_ThrowException()
 {
     SplitValues split  = new SplitValues(delimeter);
     var         values = split.Split("shoes,sandals");
 }
Esempio n. 5
0
        public async Task <List <FilePath> > GetFilesAsync(DirectoryPath directory)
        {
            await Task.Delay(1);

            var startDirectory = directory.Clone().MakeAbsolute();

            if (!IsValueOk)
            {
                return(new List <FilePath>());
            }
            var files   = new List <FilePath>();
            var matches = SplitValues.Last().Split(',').Select(s => new Regex(WildcardToRegex(s)));
            // multiples file mask seperate by ,
            // *.cs,*.h,*.md
            var searchDirectories = new List <DirectoryPath>();

            if (SplitValues.Count > 1)
            {
                searchDirectories = SearchDirectories(true, startDirectory, SplitValues.Take(SplitValues.Count() - 1).ToList());
            }
            else
            {
                searchDirectories.Add(startDirectory);
            }
#if NETSTANDARD1_6
            foreach (var searchDirectory in searchDirectories)
            {
                var localFiles = Directory.GetFiles(searchDirectory, "*").Select(f => new FilePath(f)).ToList();
                var matchFiles = new List <FilePath>();
                foreach (var file in localFiles)
                {
                    foreach (var match in matches)
                    {
                        if (match.IsMatch(file.FileName))
                        {
                            matchFiles.Add(file);
                            break;
                        }
                    }
                }
                lock (files)
                    files.AddRange(matchFiles);
            }
            ;
#else
            Parallel.ForEach(searchDirectories, searchDirectory =>
            {
                var localFiles = Directory.GetFiles(searchDirectory, "*").Select(f => new FilePath(f)).ToList();
                var matchFiles = new List <FilePath>();
                foreach (var file in localFiles)
                {
                    foreach (var match in matches)
                    {
                        if (match.IsMatch(file.FileName))
                        {
                            matchFiles.Add(file);
                            break;
                        }
                    }
                }
                lock (files)
                    files.AddRange(matchFiles);
            });
#endif
            return(files);
        }