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); }
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); }
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)); } }