Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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");
        }