public void SpellCheck_RussianMessageIsIncorrect_ReturnsNotEmptyString() { var message = "Првиет"; Mock <IWebHostEnvironment> environment = new Mock <IWebHostEnvironment>(); environment.Setup(e => e.WebRootPath).Returns(LocalStorage); var sut = new SpellCheckModel(environment.Object); var response = sut.SpellCheck(message); Assert.That(response, Is.Not.Null.Or.Empty); }
public void SpellCheck_MixedMessage_ReturnsNull() { var message = "бббbbb"; Mock <IWebHostEnvironment> environment = new Mock <IWebHostEnvironment>(); environment.Setup(e => e.WebRootPath).Returns(LocalStorage); var sut = new SpellCheckModel(environment.Object); var response = sut.SpellCheck(message); Assert.That(response, Is.Null); }
public void SpellCheck_EnglishMessageWithNewlineCharacterIsCorrect_ReturnsNull() { var message = "Hello\nthere"; Mock <IWebHostEnvironment> environment = new Mock <IWebHostEnvironment>(); environment.Setup(e => e.WebRootPath).Returns(LocalStorage); var sut = new SpellCheckModel(environment.Object); var response = sut.SpellCheck(message); Assert.That(response, Is.Null); }
/**analyze the result*/ static string Analyze(SpellCheckModel spellCheckModel, string text) { var tokens = spellCheckModel?.FlaggedTokens; if (tokens != null && tokens.Count > 0) { var sorted = tokens.ToList(); sorted.Sort((a, b) => (a.Offset - b.Offset)); var result = new StringBuilder(); var pos = 0; foreach (var t in sorted) { if (t.Offset > pos) { result.Append(text.Substring(pos, t.Offset - pos)); pos = t.Offset; } result.Append("[" + t.Suggestions.FirstOrDefault().Suggestion + "]"); pos += t.Token.Length; } if (text.Length > pos) { result.Append(text.Substring(pos)); } return(result.ToString()); } else { return(text); } }
public SpellCheckController(IWebHostEnvironment appEnvironment) { _appEnvironment = appEnvironment; model = new SpellCheckModel(_appEnvironment); }