示例#1
0
        private static Error GetError(string text)
        {
            //The process of trying to sort the random spouts of letters back into lines. Hacky.

            if (text.Contains("\n"))
            {
                lineBuffer += text;

                List <string> lines = lineBuffer.Split('\n').ToList();

                lineBuffer = lines.Last();

                foreach (string line in lines)
                {
                    var error = ErrorFinder.GetError(line);

                    if (error != null)
                    {
                        return(error);
                    }
                }
            }
            else
            {
                lineBuffer += text;
            }

            return(null);
        }
示例#2
0
        public static void ProgressiveLog(string s)
        {
            lineBuffer.Append(s);

            if (s.Contains("\n"))
            {
                List <string> lines = lineBuffer.ToString().Split('\n').ToList();

                string suffixText = lines.Last();

                lineBuffer = new StringBuilder(suffixText);

                OnBacktrack(tempText);

                for (var i = 0; i < lines.Count - 1; i++)
                {
                    var line  = lines[i];
                    var error = ErrorFinder.GetError(line);

                    if (error == null)
                    {
                        Log(line);
                    }
                    else
                    {
                        if (errorsFound.ContainsKey(error))
                        {
                            errorsFound[error]++;
                        }
                        else
                        {
                            errorsFound.Add(error, 1);
                        }

                        if (errorsFound[error] < 128)
                        {
                            LogCompileError(line, error);
                        }
                        else
                        {
                            Log(line);//Stop hyperlinking errors if we see over 128 of them
                        }
                        OnErrorFound(error);
                    }
                }

                if (suffixText.Length > 0)
                {
                    tempText = new List <Run>();
                    tempText.Add(Log(suffixText));
                }
            }
            else
            {
                tempText.Add(Log(s));
            }
        }
        public void NoValues()
        {
            errorFinder = new ErrorFinder();

            var range = new RangeBuilder().WithWorksheet().WithSingleValue(null).Build();

            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(0, result.Length);
        }
        public void Range_NoErrors()
        {
            errorFinder = new ErrorFinder();

            var values = new object[, ] {
                { 1d, "1", "abc" }, { "123.123", "321 , 321", null }
            };
            var range = new RangeBuilder().WithWorksheet().WithSingleValue(values).Build();

            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(0, result.Length);
        }
        public void SingleValue_WithError()
        {
            errorFinder = new ErrorFinder();

            var range = new RangeBuilder().WithWorksheet().WithSingleValue((int)CVErrEnum.ErrNA).Build();

            SetRangeExtentionsStub();


            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(1, result.Length);
            Assert.AreEqual(CVErrEnum.ErrNA.GetEnumDescription(), result.First().ErrorMessage);
        }
        public void Range_WithErrors()
        {
            errorFinder = new ErrorFinder();

            var values = new object[, ] {
                { 1d, "1", "abc" }, { (int)CVErrEnum.ErrGettingData, "321 , 321", null }
            };
            var range = new RangeBuilder().WithWorksheet().WithCells().WithSingleValue(values).Build();

            SetRangeExtentionsStub();

            var result = errorFinder.GetAllErrorCells(range).ToArray();

            Assert.AreEqual(1, result.Length);
            Assert.AreEqual(CVErrEnum.ErrGettingData.GetEnumDescription(), result.First().ErrorMessage);
        }
示例#7
0
        public static void ProgressiveLog(string s)
        {
            lineBuffer.Append(s);

            if (s.Contains("\n"))
            {
                List <string> lines = lineBuffer.ToString().Split('\n').ToList();

                string suffixText = lines.Last();

                lineBuffer = new StringBuilder(suffixText);

                OnBacktrack(tempText);

                for (var i = 0; i < lines.Count - 1; i++)
                {
                    var line  = lines[i];
                    var error = ErrorFinder.GetError(line);

                    if (error == null)
                    {
                        Log(line);
                    }
                    else
                    {
                        LogCompileError(line, error);
                    }
                }

                if (suffixText.Length > 0)
                {
                    tempText = new List <Run>();
                    tempText.Add(Log(suffixText));
                }
            }
            else
            {
                tempText.Add(Log(s));
            }
        }