public void multi_word_extra_chars_in_middle_of_text02() { var details = run_determinator("abc xyz zxcv", "abc wyzbbbbbbbbbb qxzv"); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Queue <HighlightedText> result = builder.Compute("abc xyz zxcv", details); Assert.That(result, Is.EquivalentTo( new Queue <HighlightedText>( new List <HighlightedText>() { new HighlightedText() { HighlightType = HighlightType.Normal, Text = "abc ", }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "x" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = "yz" }, new HighlightedText() { HighlightType = HighlightType.ExtraChars, Text = "++++++++++" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = " " }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "z" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = "x" }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "c" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = "v" } } ) )); }
public void single_word_simple_incorrect_char_end_of_word() { var details = run_determinator("abc", "abx"); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Queue <HighlightedText> result = builder.Compute("abc", details); Assert.That(result, Is.EquivalentTo( new Queue <HighlightedText>( new List <HighlightedText>() { new HighlightedText() { HighlightType = HighlightType.Normal, Text = "ab", }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "c" }, } ) )); }
public void multi_word_single_incorrect_chars_start_of_text_secondword() { var details = run_determinator("abc xyz", "abc wyz"); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Queue <HighlightedText> result = builder.Compute("abc xyz", details); Assert.That(result, Is.EquivalentTo( new Queue <HighlightedText>( new List <HighlightedText>() { new HighlightedText() { HighlightType = HighlightType.Normal, Text = "abc ", }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "x" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = "yz" }, } ) )); }
public HttpResponseMessage RunForSequence(SequenceModel sequenceFromClient) { KeySequence keySeq = new History.UserSessionHistory().GetHistoryDetailsByKeySequence(sequenceFromClient.SequenceId); //if the text entered from the db and the text from the client is //empty or null then return analysis unavailable if (string.IsNullOrWhiteSpace(keySeq.TextEntered) && string.IsNullOrWhiteSpace(sequenceFromClient.TextEntered)) { var invalid = new List<HighlightedText>() { new HighlightedText() { HighlightType = HighlightType.Unevaluated, Text = "No analysis available for this sequence. No user provided text detected." }}; return Request.CreateResponse(HttpStatusCode.OK, invalid); } Accuracy accuracy = new Accuracy(new AnalyticData() { TextShown = keySeq.TextShown, TextEntered = (string.IsNullOrWhiteSpace(keySeq.TextEntered)) ? sequenceFromClient.TextEntered : keySeq.TextEntered }); accuracy.Compute(); IList<HighlightDetail> details = new HighlightDeterminator().Compute(accuracy); HighlightedTextBuilder highlightBuilder = new HighlightedTextBuilder(); Queue<HighlightedText> highlightedSections = highlightBuilder.Compute(keySeq.TextShown, details); return Request.CreateResponse(HttpStatusCode.OK, highlightedSections.ToList()); }
public void large_word_with_extra_characters_in_middle_ofparagraph_does_not_throw_out_of_bounds() { string orig = "This is a list of listed buildings in the parish of Kirkcaldy and Dysart in Fife, Scotland"; var details = run_determinator( orig, "This is a list of lisadfa buildingss in the parish of Kirkcaldy and the Dysart in Fife, Scotland" ); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Assert.DoesNotThrow(() => builder.Compute(orig, details)); }
public void large_gap_in_incorrect_sections_does_not_throw_exception_for_out_of_bounds() { string orig = "Brett Rodwell (born 23 May 1970) is an Australian former professional rugby league footballer who played in the 1980s and 1990s"; var details = run_determinator( orig, "Brett Rodwell (born 23 May 197y0) is an Australian former professional ruby league footballer who played in the 190s and 1990s" ); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Assert.DoesNotThrow(() => builder.Compute(orig, details)); }
public void multi_word_unevaluated_chars_includes_space_in_unevaluated() { var details = run_determinator("abc xyz zxcv", "abc wyzbbb"); HighlightedTextBuilder builder = new HighlightedTextBuilder(); Queue <HighlightedText> result = builder.Compute("abc xyz zxcv", details); Assert.That(result, Is.EquivalentTo( new Queue <HighlightedText>( new List <HighlightedText>() { new HighlightedText() { HighlightType = HighlightType.Normal, Text = "abc ", }, new HighlightedText() { HighlightType = HighlightType.IncorrectChar, Text = "x" }, new HighlightedText() { HighlightType = HighlightType.Normal, Text = "yz" }, new HighlightedText() { HighlightType = HighlightType.ExtraChars, Text = "+++" }, new HighlightedText() { HighlightType = HighlightType.Unevaluated, Text = " zxcv" } } ) )); }
public IList <Inline> ConvertHighlightsToInlines(string origText, Accuracy accuracy) { HighlightDeterminator highlighter = new HighlightDeterminator(); IList <HighlightDetail> details = highlighter.Compute(accuracy); HighlightedTextBuilder highlightBuilder = new HighlightedTextBuilder(); Queue <HighlightedText> highlightedSections = highlightBuilder.Compute(_seqInputModel.TextShown, details); IList <Inline> inlines = new List <Inline>(); while (highlightedSections.Count > 0) { var section = highlightedSections.Dequeue(); Inline newSection = new Run(section.Text); newSection.Foreground = new Util.HighlightBrushFactory().HighlightToBrush(section.HighlightType); if (section.HighlightType != HighlightType.Normal) { newSection.FontWeight = System.Windows.FontWeights.Bold; } inlines.Add(newSection); } return(inlines); }