예제 #1
0
		private void ValidateFocusBoxState(int indexWordExpected, InterlinDocChild idc, StTxtPara.TwficInfo twficBeforeEdit1_0, IStText stTextBeforeEdit)
		{
			IStText stTextAfterEdit = idc.RawStText;
			Assert.AreEqual(stTextBeforeEdit, stTextAfterEdit, "We expect to be in the same text.");
			int hvoAnnAfterEdit = idc.HvoAnnotation;
			ICmBaseAnnotation cbaAfterEdit = new CmBaseAnnotation(Cache, hvoAnnAfterEdit);
			Assert.IsFalse(twficBeforeEdit1_0.IsCapturedObjectInfoValid());
			Assert.AreEqual(twficBeforeEdit1_0.BeginOffset, cbaAfterEdit.BeginOffset, "FocusBox should be at the same location.");
			Assert.AreNotEqual(twficBeforeEdit1_0.EndOffset, cbaAfterEdit.EndOffset, "FocusBox should now be on phrase annotation.");

			// FocusBox should be on phrase, not somewhere else.
			Assert.IsNotNull(idc.IsFocusBoxInstalled, "Focus Box should still be installed.");
			Assert.AreEqual(idc.ExistingFocusBox.InterlinWordControl.HvoAnnotation, hvoAnnAfterEdit, "FocusBox should be on current annotation.");

			// Make sure we haven't changed word in the wordform record list.
			int indexWordAfterEdit = m_wordList.CurrentIndex;
			int hvoWordAfterEdit = m_wordList.CurrentObject.Hvo;
			Assert.AreEqual(indexWordExpected, indexWordAfterEdit, "Word index mismatch");
		}