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);
        }
Exemple #4
0
        /**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);
            }
        }
Exemple #5
0
 public SpellCheckController(IWebHostEnvironment appEnvironment)
 {
     _appEnvironment = appEnvironment;
     model           = new SpellCheckModel(_appEnvironment);
 }