public void CreateAndUpdateOneOfTwoFts()
        {
            m_para.SegmentsOS.Clear();
            string pc1    = "Das buch ist rot. ";
            string pc2    = "Das Madchen ist shon.";
            string verse1 = "9";

            m_para.Contents = Cache.TsStrFactory.MakeString(pc1 + verse1 + pc2, m_wsVern);
            string trans1 = "The book is red.";
            string trans2 = "The girl is beautiful";

            BackTranslationAndFreeTranslationUpdateHelper.Do(m_para, () => SetFt(m_para, trans1, 0));
            Assert.AreEqual(1, m_para.TranslationsOC.Count, "should not have updated for change to same ft.");
            BackTranslationAndFreeTranslationUpdateHelper.Do(
                m_para, () => MakeVerseSegment(m_para, pc1.Length, verse1.Length));
            var seg2 = SetFt(m_para, trans2, 2);

            Assert.AreEqual(1, m_para.TranslationsOC.Count, "should have updated on changing another property");
            Assert.AreEqual(trans1 + " " + verse1 + trans2,
                            m_para.TranslationsOC.ToArray()[0].Translation.get_String(m_wsTrans).Text,
                            "translation should be correct after changing prop2");
            string trans2b = "The girl is pretty.";

            seg2.FreeTranslation.set_String(m_wsTrans, trans2b);             // should generate propChanged for same prop.
            Assert.AreEqual(trans1 + " " + verse1 + trans2b,
                            m_para.TranslationsOC.ToArray()[0].Translation.get_String(m_wsTrans).Text,
                            "translation should be correct after changing prop2");
        }
Example #2
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Convert the CmTranslation version of the translation to the interlinear version.
        /// </summary>
        /// <param name="para">The paragraph.</param>
        /// <param name="wsBt">The writing system for which to do the conversion.</param>
        /// ------------------------------------------------------------------------------------
        public static void ConvertCmTransToInterlin(IStTxtPara para, int wsBt)
        {
            BtConverter converter = new BtConverter(para, wsBt);

            BackTranslationAndFreeTranslationUpdateHelper.Do(para,
                                                             converter.ConvertCmTransToInterlin);
        }