/// <summary> /// Override the main body of this test to adjust the expected annotations. /// 1 2 3 4 5 6 7 8 9 /// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 ///1 xxxpus xxxyalola xxxnihimbilira. xxxnihimbilira xxxpus xxxyalola. xxxhesyla xxxnihimbilira. /// paste xxxNew\r\n at start of para ///1 xxxNew ///2 nxxxMoreNew xxxpus xxxyalola xxxnihimbilira. xxxnihimbilira xxxpus xxxyalola. xxxhesyla xxxnihimbilira. /// </summary> protected override void PasteParaPlusTextAtStart(StTxtPara para0, out TextSelInfo tsiBeforePaste, out TextSelInfo tsiAfterPaste) { m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.InsertSegmentForm(0, 0, LangProject.kguidAnnWordformInContext, "xxxMoreNew"); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.PasteParaPlusTextAtStart(para0, out tsiBeforePaste, out tsiAfterPaste); }
public override void DeleteLastTwficIn1stSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.RemoveSegmentForm(0, 2); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.DeleteLastTwficIn1stSentence(); }
public override void ReplaceSentenceWithSentences() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // replace wordforms pb.ReplaceSegmentForm(0, 0, "xxxsup", 0); pb.ReplaceSegmentForm(0, 1, "xxxalolay", 0); pb.ReplaceSegmentForm(0, 2, "xxxarilibmihin", 0); // insert segment breaks pb.InsertSegmentBreak(0, 2, "."); pb.ReplaceTrailingWhitepace(0, 2, 1); pb.InsertSegmentBreak(0, 1, "."); pb.ReplaceTrailingWhitepace(0, 1, 1); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceSentenceWithSentences(); }
public override void InsertAndDeleteSpaceAtBeginningOfParagraph() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); // preserve the initial state from being edited. XmlNode paraNodeInitial = ParagraphBuilder.Snapshot(tb.SelectedNode); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // insert a whitespace after first "xxxnihimbilira" pb.ReplaceLeadingWhitepace(0, 0, 1); XmlNode paraNodeAfterEdit = tb.SelectedNode; XmlNode paraNodeAfterDelete = paraNodeInitial; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.InsertAndDeleteSpaceAtBeginningOfParagraph(); }
public override void DeleteParagraphBreak() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(null); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); tb.DeleteParagraphBreak(para0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.DeleteParagraphBreak(); }
public override void ReplaceSentencesWithSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // remove last two segments pb.RemoveSegment(2); pb.RemoveSegment(1); // remove all but one form in the sentence pb.RemoveSegmentForm(0, 3); pb.RemoveSegmentForm(0, 2); pb.RemoveSegmentForm(0, 1); pb.ReplaceSegmentForm(0, 0, "xxxsup", 0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceSentencesWithSentence(); }
public override void InsertNewTwficIn1stSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); // preserve the initial state from being edited. TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); XmlNode paraNodeInitial = ParagraphBuilder.Snapshot(tb.SelectedNode); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.InsertSegmentForm(0, 0, LangProject.kguidAnnWordformInContext, "xxxNewTwfic"); XmlNode paraNodeAfterEdit = m_rtp.AddResultingAnnotationState(tb.SelectedNode); pb.RemoveSegmentForm(0, 0); XmlNode paraNodeAfterDelete = m_rtp.AddResultingAnnotationState(tb.SelectedNode); base.InsertNewTwficIn1stSentence(); }
public override void DeleteAllSentencesResultingInEmptyPara() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // remove all segments pb.RemoveSegment(2); pb.RemoveSegment(1); pb.RemoveSegment(0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.DeleteAllSentencesResultingInEmptyPara(); }
public override void InsertAndDeleteWordFormCharInside1stTwfic() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); // preserve the initial state from being edited. ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // insert "A" in first "xxxpus" pb.ReplaceSegmentForm(0, 0, "xxxApus", 0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); pb.ReplaceSegmentForm(0, 0, "xxxpus", 0); XmlNode paraNodeAfterDelete = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.InsertAndDeleteWordFormCharInside1stTwfic(); }
public override void InsertAndDeleteSpaceInside1stTwfic() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // insert space in first "xxxpus" pb.ReplaceSegmentForm(0, 0, "xxx", 0); pb.InsertSegmentForm(0, 1, LangProject.kguidAnnWordformInContext, "pus"); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); pb.ReplaceSegmentForm(0, 0, "xxxpus", 0); pb.RemoveSegmentForm(0, 1); XmlNode paraNodeAfterDelete = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.InsertAndDeleteSpaceInside1stTwfic(); }
public override void ReplaceSegBreakWithAnotherSegBreakThenWithNonSegBreak() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); XmlNode paraNodeInitial = ParagraphBuilder.Snapshot(tb.SelectedNode); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // replace '.' with '?' pb.ReplaceSegmentForm(0, 3, "?", 0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); // Replace segment break with non segment breaking character. pb.DeleteSegmentBreak(0, 3); pb.InsertSegmentForm(0, 3, LangProject.kguidAnnPunctuationInContext, ","); pb.ReplaceTrailingWhitepace(0, 3, 1); XmlNode paraNodeAfterDelete = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.ReplaceSegBreakWithAnotherSegBreakThenWithNonSegBreak(); }
public override void DeleteSegmentBreakToMerge2Sentences() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); // preserve the initial state from being edited. XmlNode paraNodeInitial = ParagraphBuilder.Snapshot(tb.SelectedNode); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // delete period after first "xxxnihimbilira" pb.DeleteSegmentBreak(0, 3); XmlNode paraNodeAfterEdit = tb.SelectedNode; XmlNode paraNodeAfterDelete = paraNodeInitial; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.DeleteSegmentBreakToMerge2Sentences(); }
public override void InsertAndDeleteSegmentBreakAfter1stTwfic() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); // preserve the initial state from being edited. XmlNode paraNodeInitial = ParagraphBuilder.Snapshot(tb.SelectedNode); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // insert a period after first "xxxpus" pb.InsertSegmentBreak(0, 1, "."); pb.ReplaceTrailingWhitepace(0, 1, 1); XmlNode paraNodeAfterEdit = tb.SelectedNode; XmlNode paraNodeAfterDelete = paraNodeInitial; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); m_rtp.AddResultingAnnotationState(paraNodeAfterDelete); base.InsertAndDeleteSegmentBreakAfter1stTwfic(); }
public override void MoveLatterDuplicateWordformToFormerOffset() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // remove segment boundary pb.DeleteSegmentBreak(0, 3); // delete first "xxxnihimbilira" from first sentence pb.RemoveSegmentForm(0, 2); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.MoveLatterDuplicateWordformToFormerOffset(); }
public override void ReplaceTwficWithSameTwfic() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectedNode = m_rtp.GetParagraphBuilder(para0.Hvo).SegmentNodes()[0]; TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); ParagraphAnnotatorForParagraphBuilder papb = new ParagraphAnnotatorForParagraphBuilder(pb); string wgloss; papb.SetDefaultWordGloss(0, 0, out wgloss); pb.ReplaceSegmentForm(0, 0, "xxxpus", 0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceTwficWithSameTwfic(); }
public override void DeleteRangeSpanningSegmentBoundaryAndWholeTwfics() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // remove segment boundary pb.DeleteSegmentBreak(0, 3); // delete "xxxnihimbilira xxxnihimbilira xxxpus" from first sentence pb.RemoveSegmentForm(0, 2); // (first) xxxnihimbilira pb.RemoveSegmentForm(0, 2); // (second) xxxnihimbilira pb.RemoveSegmentForm(0, 2); // (second) xxxpus XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.DeleteRangeSpanningSegmentBoundaryAndWholeTwfics(); }
public override void ReplaceTwficsWithStringContainingSameTwfics() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); ParagraphAnnotatorForParagraphBuilder papb = new ParagraphAnnotatorForParagraphBuilder( m_rtp.TextBuilder.GetParagraphBuilder(para0.Hvo)); string wgloss; papb.SetDefaultWordGloss(0, 0, out wgloss); // clone text builder to modify a different version of the document. // this will help Validation maintain the initial word gloss state. TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // basically replace all the existing twfics in the selection with new ones. pb.ReplaceSegmentForm(0, 0, "xxxNewTwfic", 0); pb.ReplaceSegmentForm(0, 1, "xxxpus", 0); pb.ReplaceSegmentForm(0, 2, "xxxyalola", 0); pb.InsertSegmentForm(0, 3, LangProject.kguidAnnWordformInContext, "xxxnihimbilira"); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceTwficsWithStringContainingSameTwfics(); }
public override void DeleteSentenceWithoutSegmentBreakChar() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // Setup new initial state: // remove last two segments and last punctuation. pb.RemoveSegment(2); pb.RemoveSegment(1); pb.RemoveSegmentForm(0, 3); // last period m_rtp.TextBuilder.SetTextDefnFromSelectedNode(ParagraphBuilder.Snapshot(tb.SelectedNode)); // remove remaining segment pb.RemoveSegment(0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.DeleteSentenceWithoutSegmentBreakChar(); }
public override void ReplaceTwficWithTwfics() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.ReplaceSegmentForm(0, 0, "xxxsup", 0); pb.InsertSegmentForm(0, 1, LangProject.kguidAnnWordformInContext, "xxxspu"); pb.InsertSegmentForm(0, 2, LangProject.kguidAnnWordformInContext, "xxxups"); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceTwficWithTwfics(); }
public virtual void DeleteAllParagraphs() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(null); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); IStTxtPara newPara = tb.AppendNewParagraph(); ParagraphBuilder pb = tb.GetParagraphBuilder(newPara.Hvo); pb.CreateSegmentNode(); pb.CreateSegmentForms(); pb.InsertSegmentForm(0, 0, LangProject.kguidAnnPunctuationInContext, "."); pb.InsertSegmentForm(0, 0, LangProject.kguidAnnWordformInContext, "xxxups"); pb.InsertSegmentForm(0, 1, LangProject.kguidAnnWordformInContext, "xxxloyala"); pb.InsertSegmentForm(0, 2, LangProject.kguidAnnWordformInContext, "xxxliranihimbi"); pb.RebuildParagraphContentFromAnnotations(); m_rtp.SelectAll(); TextSelInfo tsiBeforeDel; m_rtp.OnDelete(out tsiBeforeDel); m_rtp.ValidateStTextAnnotations(); }
public override void ReplaceTwficsWithTwfic() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); // preserve the initial state from being edited. TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.ReplaceSegmentForm(0, 0, "xxxpusyalolanihimbilira", 0); pb.RemoveSegmentForm(0, 1); pb.RemoveSegmentForm(0, 1); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceTwficsWithTwfic(); }
public override void ReplaceSentenceWithSameSizeSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.ReplaceSegmentForm(0, 0, "xxxsup", 0); pb.ReplaceSegmentForm(0, 1, "xxxalolay", 0); pb.ReplaceSegmentForm(0, 2, "xxxarilibmihin", 0); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.ReplaceSentenceWithSameSizeSentence(); }
public override void InsertDuplicateWordformIn1stSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); pb.InsertSegmentForm(0, 0, LangProject.kguidAnnWordformInContext, "xxxpus"); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.InsertDuplicateWordformIn1stSentence(); }
public override void InsertSentencesAfterFirstSentence() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // replace wordforms pb.InsertSegmentForm(1, 0, LangProject.kguidAnnWordformInContext, "xxxfirstnew"); pb.InsertSegmentForm(1, 1, LangProject.kguidAnnWordformInContext, "xxxsentence"); pb.InsertSegmentForm(1, 2, LangProject.kguidAnnWordformInContext, "xxxsecondnew"); pb.InsertSegmentForm(1, 3, LangProject.kguidAnnWordformInContext, "xxxsentence"); // insert segment breaks pb.InsertSegmentBreak(1, 4, "."); pb.InsertSegmentBreak(1, 2, "."); pb.ReplaceTrailingWhitepace(1, 2, 1); pb.ReplaceTrailingWhitepace(2, 2, 1); XmlNode paraNodeAfterEdit = tb.SelectedNode; m_rtp.AddResultingAnnotationState(paraNodeAfterEdit); base.InsertSentencesAfterFirstSentence(); }
public override void InsertAndDeleteSpaceBeforePeriodAtEndOfPara() { StTxtPara para0 = m_text1.ContentsOA.ParagraphsOS[0] as StTxtPara; m_rtp.TextBuilder.SelectNode(para0, 2, 1); TextBuilder tb = new TextBuilder(m_rtp.TextBuilder); ParagraphBuilder pb = tb.GetParagraphBuilder(para0.Hvo); // insert a whitespace after final "xxxnihimbilira" pb.ReplaceTrailingWhitepace(2, 1, 1); XmlNode paraNodeAfterEdit = m_rtp.AddResultingAnnotationState(tb.SelectedNode); pb.ReplaceTrailingWhitepace(2, 1, 0); XmlNode paraNodeAfterDelete = m_rtp.AddResultingAnnotationState(tb.SelectedNode); base.InsertAndDeleteSpaceBeforePeriodAtEndOfPara(); }