public void VerifyGetScrBooksFromSFFile() { CheckDisposed(); IECProject ecProject = new ECProjectClass(); // Test with file with only one book in it // Romans is really book 45... string testFolder = Unpacker.PtProjectTestFolder; System.Array scrBooks = (System.Array)ecProject.GetBooksForFile(testFolder + "KAM\\46ROM.KAM"); Assert.AreEqual(1, scrBooks.Length); Assert.AreEqual(45, (short)scrBooks.GetValue(0)); scrBooks = (System.Array)ecProject.GetBooksForFile(testFolder + "SOTest.sfm"); Assert.AreEqual(2, scrBooks.Length); Assert.AreEqual(56, (short)scrBooks.GetValue(0)); Assert.AreEqual(65, (short)scrBooks.GetValue(1)); }
public void Test_NewBeginAndNewEnd_Markers() { CheckDisposed(); /// 4 different tests to check the new mapping properties :NewEndMarker, and NewBeginMarker. /// The rule is to make sure that the "new" properties all begin with a '\' and that all /// '*' characters are replaced with '+' except for the last char of the marker. These are /// required rules due to the Scripture Object implementaion. /// IECProject sfProject; IECMapping mappingObj; String endMarker; sfProject = new ECProjectClass(); mappingObj = new ECMappingClass(); // TEST 1 mappingObj.BeginMarker = "\\b"; // create a \b marker endMarker = mappingObj.NewBeginMarker; // retrieve the new Marker (or the current begin) Assert.AreEqual("\\b", endMarker, "Invalid New Begin Marker"); // TEST 2 mappingObj = new ECMappingClass(); mappingObj.BeginMarker = "{b}"; endMarker = mappingObj.NewBeginMarker; // retrieve the new Marker (or the current begin) Assert.AreEqual("\\{b}", endMarker, "Invalid New Begin Marker"); // TEST 3 mappingObj = new ECMappingClass(); mappingObj.EndMarker = "{b*}"; endMarker = mappingObj.NewEndMarker; // retrieve the new Marker (or the current begin) Assert.AreEqual("\\{b+}", endMarker, "Invalid New End Marker"); // TEST 4 mappingObj = new ECMappingClass(); mappingObj.EndMarker = "|LastTest****"; endMarker = mappingObj.NewEndMarker; // retrieve the new Marker (or the current begin) Assert.AreEqual("\\|LastTest+++*", endMarker, "Invalid New End Marker"); }
public void PersistStyleMappings() { CheckDisposed(); m_sfProjectProxy.AddFile(Unpacker.SfProjectTestFolder + "3markers.sfm"); Assert.AreEqual(3, m_sfProjectProxy.NumberOfMappings, "Before modifying mappings"); ECMapping mapping; m_sfProjectProxy.NthECMapping(0, out mapping); Assert.AreEqual(0, mapping.IsConfirmed, "Marker 0 failed"); m_sfProjectProxy.NthECMapping(1, out mapping); Assert.AreEqual(0, mapping.IsConfirmed, "Marker 1 failed"); m_sfProjectProxy.NthECMapping(2, out mapping); Assert.AreEqual(0, mapping.IsConfirmed, "Marker 2 failed"); ECMappingClass mappingClass = new ECMappingClass(); mappingClass.BeginMarker = "\\imt"; mappingClass.Domain = MarkerDomain.MD_Back; mappingClass.StyleName = "Background Section Heading"; // Not a valid TECkit file... // mappingClass.DataEncoding = "French"; m_sfProjectProxy.SetECMapping(mappingClass); mappingClass = new ECMappingClass(); mappingClass.BeginMarker = "\\ist"; mappingClass.Domain = MarkerDomain.MD_Note; mappingClass.StyleName = "Intro Heading"; // mappingClass.DataEncoding = "English"; m_sfProjectProxy.SetECMapping(mappingClass); // This should return the data with the confirmed flags set to non zero. byte[] blob = (byte[])m_sfProjectProxy.AsSafeArray; ECProjectClass tmpProjProxy = new ECProjectClass(); tmpProjProxy.InitializeFromSafeArray(blob); Assert.AreEqual(3, tmpProjProxy.NumberOfMappings, "After reading blob"); string commentImt = "Marker \\imt"; string commentIst = "Marker \\ist"; int count = 0; try { for (int i = 0; i < tmpProjProxy.NumberOfMappings; i++) { tmpProjProxy.NthECMapping(i, out mapping); if (mapping.BeginMarker == "\\imt") { Assert.AreEqual(MarkerDomain.MD_Back, mapping.Domain, commentImt); Assert.AreEqual("Background Section Heading", mapping.StyleName, commentImt); // Assert.AreEqual("French", mapping.DataEncoding, commentImt); Assert.IsTrue(mapping.IsConfirmed != 0, commentImt + ": fConfirmed != 0"); } else if (mapping.BeginMarker == "\\ist") { Assert.AreEqual(MarkerDomain.MD_Note, mapping.Domain, commentIst); Assert.AreEqual("Intro Heading", mapping.StyleName, commentIst); // Assert.AreEqual("English", mapping.DataEncoding, commentIst); Assert.IsTrue(mapping.IsConfirmed != 0, commentIst + ": fConfirmed != 0"); } count++; } } catch (ArgumentException) { } tmpProjProxy = null; Assert.AreEqual(3, count, "After reading back mappings"); }