public void DeleteFootnoteInRangeSelectionAcrossMultipleBooks() { SetupSelectionForRangeAcrossBooks(); IScripture scr = Cache.LangProject.TranslatedScriptureOA; IScrFootnote[] footnotes = new IScrFootnote[4]; Guid[] guidFootnotes = new Guid[4]; IScrTxtPara[] paras = new IScrTxtPara[4]; // First get the footnotes we're deleting from JAMES. IScrBook book = scr.ScriptureBooksOS[1]; footnotes[0] = book.FootnotesOS[31]; footnotes[1] = book.FootnotesOS[32]; // First get the footnotes we're deleting from JUDE. book = (IScrBook)scr.ScriptureBooksOS[2]; footnotes[2] = book.FootnotesOS[0]; footnotes[3] = book.FootnotesOS[1]; for (int i = 0; i < 4; i++) { guidFootnotes[i] = footnotes[i].Guid; paras[i] = footnotes[i].ContainingParagraph; } m_footnoteView.DeleteFootnote(); foreach (IScrFootnote footnote in footnotes) { Assert.IsFalse(footnote.IsValidObject); } // now make sure that we don't find the footnote markers for (int i = 0; i < 4; i++) { Assert.IsFalse(IsFootnoteMarkerInText(paras[i], guidFootnotes[i]), "Footnote marker didn't get deleted from text"); } }
public void DeleteFootnoteInRangeSelectionAcrossMultipleBooks() { SetupSelectionForRangeAcrossBooks(); IScripture scr = m_cache.LangProject.TranslatedScriptureOA; ScrFootnote[] footnotes = new ScrFootnote[4]; Guid[] guidFootnotes = new Guid[4]; int[] hvoParas = new int[4]; // First get the footnotes we're deleting from JAMES. IScrBook book = (IScrBook)scr.ScriptureBooksOS[1]; footnotes[0] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[31]); footnotes[1] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[32]); // First get the footnotes we're deleting from JUDE. book = (IScrBook)scr.ScriptureBooksOS[2]; footnotes[2] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[0]); footnotes[3] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[1]); for (int i = 0; i < 4; i++) { guidFootnotes[i] = m_cache.GetGuidFromId(footnotes[i].Hvo); hvoParas[i] = footnotes[i].ContainingParagraphHvo; } m_footnoteView.DeleteFootnote(); foreach (IStFootnote footnote in footnotes) { Assert.IsFalse(m_cache.IsRealObject(footnote.Hvo, StFootnote.kClassId)); } // now make sure that we don't find the footnote markers for (int i = 0; i < 4; i++) { Assert.IsFalse(IsFootnoteMarkerInText(hvoParas[i], guidFootnotes[i]), "Footnote marker didn't get deleted from text"); } }