public void NoAnalyses_SimpleEdits_MultipleWritingSystemsParagraph() { ParagraphBuilder pb = new ParagraphBuilder(m_textsDefn, m_text1, (int)Text1ParaIndex.MultipleWritingSystems); // verify that our wfics point to wordforms in the expected wss. pb.ParseParagraph(); ParagraphAnnotatorForParagraphBuilder tapb = new ParagraphAnnotatorForParagraphBuilder(pb); FdoValidator.ValidateCbaWordToBaselineWord(tapb, 0, 0); //FdoValidator.ValidateCbaWordToBaselineWord(tapb, 0, 1); // currently considered punctuation. //FdoValidator.ValidateCbaWordToBaselineWord(tapb, 1, 0); // french word considered punctuation. //FdoValidator.ValidateCbaWordToBaselineWord(tapb, 1, 1); // eng word considered punctuation // FdoValidator.ValidateCbaWordToBaselineWord(tapb, 1, 4); // german word considered punctuation. // validate the rest tapb.ValidateAnnotations(); // xxxpus xxes xxxnihimbilira. xxfr xxen xxxnihimbilira xxxpus xxde. xxkal xxkal xxxxhesyla xxxxhesyla. // xxkal: German (de) -- occurrence 0 // xxkal: Kalaba (xkal) -- occurrence 1 Dictionary<string, int> expectedOccurrences = pb.ExpectedWordformsAndOccurrences; CheckExpectedWordformsAndOccurrences(pb.ActualParagraph, expectedOccurrences); // replace the german occurrence of "xxkal" with a xkal version. int wsDe; FdoValidator.GetTssStringValue(tapb, 2, 0, out wsDe); int wsVernDef = Cache.DefaultVernWs; Assert.AreNotEqual(wsVernDef, wsDe, "Precondition: did not expect to have a default vern ws."); pb.ReplaceSegmentForm(2, 0, "xxkal", wsVernDef); var segformNode = pb.SegmentFormNode(2, 0); // Now it should parse as a wfic. var linkNode = segformNode.SelectSingleNode("AnnotationType34/Link"); linkNode.Attributes["guid"].Value = ParagraphBuilder.WficGuid; linkNode.Attributes["name"].Value = "Wordform In Context"; expectedOccurrences.Remove("xxkal" + wsDe.ToString()); expectedOccurrences["xxkal" + wsVernDef.ToString()] += 1; pb.RebuildParagraphContentFromAnnotations(true); pb.ParseParagraph(); int wsAnalysis2_0; FdoValidator.GetTssStringValue(tapb, 2, 0, out wsAnalysis2_0); Assert.AreEqual(Cache.DefaultVernWs, wsAnalysis2_0, "Precondition: expected to have default vern ws."); FdoValidator.ValidateCbaWordToBaselineWord(tapb, 2, 0); // validate the rest. tapb.ValidateAnnotations(); CheckExpectedWordformsAndOccurrences(pb.ActualParagraph, expectedOccurrences); }