public void UserPromptForBackTranslation() { CheckDisposed(); // Set up a section and paragraph with text IScrSection section = m_inMemoryCache.AddSectionToMockedBook(m_book.Hvo); StTxtPara para = m_inMemoryCache.AddParaToMockedSectionContent(section.Hvo, ScrStyleNames.NormalParagraph); section.AdjustReferences(); m_inMemoryCache.AddRunToMockedPara(para, "Some paragraph text.", null); // Add an empty translation to the paragraph int wsBT = m_inMemoryCache.Cache.DefaultAnalWs; ICmTranslation trans = m_inMemoryCache.AddBtToMockedParagraph(para, wsBT); m_inMemoryCache.AddRunToMockedTrans(trans, wsBT, string.Empty, null); DummyTeStVc stVc = new DummyTeStVc(m_inMemoryCache.Cache, m_inMemoryCache.Cache.DefaultAnalWs); CreateExpectedUserPrompt(stVc, trans.Hvo, (int)CmTranslation.CmTranslationTags.kflidTranslation, (int)CmTranslation.CmTranslationTags.kflidTranslation); // verify that the prompt gets added IVwEnv vwEnv = (IVwEnv)m_vwenvMock.MockInstance; bool fTextAdded = stVc.CallInsertBackTranslationUserPrompt(vwEnv, trans.Hvo); Assert.IsTrue(fTextAdded, "User prompt not added"); // verify the contents of the prompt ITsString text = stVc.DisplayVariant(vwEnv, SimpleRootSite.kTagUserPrompt, null, (int)CmTranslation.CmTranslationTags.kflidTranslation); string difference; bool fEqual = TsStringHelper.TsStringsAreEqual( ExpectedUserPrompt("Type back translation here", m_inMemoryCache.Cache.DefaultAnalWs), text, out difference); Assert.IsTrue(fEqual, difference); // verify the mock - is this useful? m_vwenvMock.Verify(); }