Ejemplo n.º 1
0
 private GEDCOMChecker(IBaseContext baseContext, IProgressController progress)
 {
     fBaseContext = baseContext;
     fTree        = fBaseContext.Tree;
     fFormat      = GEDCOMProvider.GetGEDCOMFormat(fTree);
     fProgress    = progress;
 }
Ejemplo n.º 2
0
        public void Test_CompareTree()
        {
            string extFile = string.Empty;

            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(null, extFile, null); });
            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(fBaseWin.Context, extFile, null); });

            GDMTree extTree = null;

            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(null, extTree, null); });
            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(fBaseWin.Context, extTree, null); });

            var logStub = new TextBoxStub(null);

            Assembly assembly = typeof(CoreTests).Assembly;

            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = assembly.GetManifestResourceStream("GKTests.Resources.test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                using (var ctx2 = new BaseContext(null)) {
                    using (Stream stmGed2 = assembly.GetManifestResourceStream("GKTests.Resources.test2.ged")) {
                        var gedcomProvider = new GEDCOMProvider(ctx2.Tree);
                        gedcomProvider.LoadFromStreamExt(stmGed2, stmGed2);

                        TreeTools.CompareTree(ctx1, ctx2.Tree, logStub);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void Test_CompareTree()
        {
            string extFile = string.Empty;

            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(null, extFile, null); });
            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(fBaseWin.Context, extFile, null); });

            GDMTree extTree = null;

            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(null, extTree, null); });
            Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.CompareTree(fBaseWin.Context, extTree, null); });

            var logBox = Substitute.For <ITextBox>();

            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = TestUtils.LoadResourceStream("test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                using (var ctx2 = new BaseContext(null)) {
                    using (Stream stmGed2 = TestUtils.LoadResourceStream("test2.ged")) {
                        var gedcomProvider = new GEDCOMProvider(ctx2.Tree);
                        gedcomProvider.LoadFromStreamExt(stmGed2, stmGed2);

                        TreeTools.CompareTree(ctx1, ctx2.Tree, logBox);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void Test_NativeFormat()
        {
            GEDCOMProvider.DebugWrite = false;
            Assembly assembly = typeof(CoreTests).Assembly;

            using (Stream inStream = assembly.GetManifestResourceStream("GKTests.Resources.test_native.ged")) {
                using (GDMTree tree = new GDMTree()) {
                    byte[] inArray;
                    using (MemoryStream inMem = new MemoryStream()) {
                        inStream.CopyTo(inMem);
                        inStream.Position = 0;
                        inArray           = inMem.ToArray();
                    }

                    var gedcomProvider = new GEDCOMProvider(tree);
                    gedcomProvider.LoadFromStreamExt(inStream, inStream);

                    using (MemoryStream outStream = new MemoryStream()) {
                        gedcomProvider = new GEDCOMProvider(tree);
                        gedcomProvider.SaveToStreamExt(outStream, GEDCOMCharacterSet.csUTF8);

                        outStream.Position = 0;
                        byte[] outArray;
                        outArray = outStream.ToArray();

                        string outStr = Encoding.ASCII.GetString(outArray);
                        Assert.AreEqual(Encoding.ASCII.GetString(inArray), outStr);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public void Test_NativeFormat()
        {
            GEDCOMProvider.DebugWrite = false;
            using (Stream inStream = TestUtils.LoadResourceStream("test_native.ged")) {
                using (GDMTree tree = new GDMTree()) {
                    byte[] inArray;
                    using (MemoryStream inMem = new MemoryStream()) {
                        inStream.CopyTo(inMem);
                        inStream.Position = 0;
                        inArray           = inMem.ToArray();
                    }

                    var gedcomProvider = new GEDCOMProvider(tree);
                    gedcomProvider.LoadFromStreamExt(inStream, inStream);

                    using (MemoryStream outStream = new MemoryStream()) {
                        gedcomProvider = new GEDCOMProvider(tree);
                        gedcomProvider.SaveToStreamExt(outStream, GEDCOMCharacterSet.csUTF8);

                        outStream.Position = 0;
                        byte[] outArray = outStream.ToArray();

                        string inStr = Encoding.ASCII.GetString(inArray);
                        // convert to GK GEDCOM
                        inStr = inStr.Replace("1 ALIA @I11@", "1 ASSO @I11@\r\n2 RELA possible_duplicate");

                        string outStr = Encoding.ASCII.GetString(outArray);
                        Assert.AreEqual(inStr, outStr);
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public void Test_Standart()
        {
            Assembly assembly = typeof(CoreTests).Assembly;

            using (Stream inStream = assembly.GetManifestResourceStream("GKTests.Resources.TGC55CLF.GED")) {
                using (GDMTree tree = new GDMTree()) {
                    var gedcomProvider = new GEDCOMProvider(tree);
                    gedcomProvider.LoadFromStreamExt(inStream, inStream);

                    Assert.AreEqual(GEDCOMFormat.gf_Unknown, tree.Format);

                    GDMMultimediaRecord mmRec1 = tree.XRefIndex_Find("M1") as GDMMultimediaRecord;
                    Assert.IsNotNull(mmRec1);

                    GDMTag blobTag = mmRec1.FindTag("BLOB", 0);
                    Assert.IsNotNull(blobTag);
                    var strBlob = GEDCOMUtils.GetTagStrings(blobTag).Text;
                    Assert.IsNotNull(strBlob);
                    MemoryStream blobStream = GEDCOMUtils.DecodeBlob(strBlob.Replace("\r\n", ""));
                    Assert.IsNotNull(blobStream);

                    // unsupported apple's `pict` format

                    /*using (FileStream file = new FileStream("d:\\image.pict", FileMode.Create, FileAccess.Write)) {
                     *  blobStream.WriteTo(file);
                     *  blobStream.Close();
                     * }*/

                    using (MemoryStream outStream = new MemoryStream()) {
                        gedcomProvider = new GEDCOMProvider(tree);
                        gedcomProvider.SaveToStreamExt(outStream, GEDCOMCharacterSet.csASCII);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public void Test_GetGEDCOMFormat()
        {
            GDMTree tree = new GDMTree();

            // Tests of determine GEDCOM-format
            Assert.AreEqual(GEDCOMFormat.gf_Unknown, GEDCOMProvider.GetGEDCOMFormat(tree));
            tree.Header.Source.StringValue = "GENBOX";
            Assert.AreEqual(GEDCOMFormat.gf_GENBOX, GEDCOMProvider.GetGEDCOMFormat(tree));
        }
Ejemplo n.º 8
0
        public void Test_GetTagProps()
        {
            TagProperties props = GEDCOMProvider.GetTagProps("ADDR");

            Assert.IsNotNull(props);
            Assert.IsTrue(props.SkipEmpty);

            props = GEDCOMProvider.GetTagProps("test");
            Assert.IsNull(props);
        }
Ejemplo n.º 9
0
        public void Test_SearchTreeFragments_MergeTree()
        {
            List <List <GDMRecord> > treeFragments;
            Assembly assembly = typeof(CoreTests).Assembly;

            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = assembly.GetManifestResourceStream("GKTests.Resources.test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                treeFragments = TreeTools.SearchTreeFragments(ctx1.Tree, null);
                Assert.AreEqual(2, treeFragments.Count);
                Assert.AreEqual(13, treeFragments[0].Count);
                Assert.AreEqual(1, treeFragments[1].Count);

                using (var ctx2 = new BaseContext(null)) {
                    using (Stream stmGed2 = assembly.GetManifestResourceStream("GKTests.Resources.test2.ged")) {
                        var gedcomProvider = new GEDCOMProvider(ctx2.Tree);
                        gedcomProvider.LoadFromStreamExt(stmGed2, stmGed2);
                    }

                    treeFragments = TreeTools.SearchTreeFragments(ctx2.Tree, null);
                    Assert.AreEqual(2, treeFragments.Count);
                    Assert.AreEqual(15, treeFragments[0].Count);
                    Assert.AreEqual(1, treeFragments[1].Count);

                    TreeTools.MergeTree(ctx1.Tree, ctx2.Tree, null);

                    treeFragments = TreeTools.SearchTreeFragments(ctx1.Tree, null);
                    Assert.AreEqual(4, treeFragments.Count);
                    Assert.AreEqual(13, treeFragments[0].Count);
                    Assert.AreEqual(1, treeFragments[1].Count);
                    Assert.AreEqual(15, treeFragments[2].Count);
                    Assert.AreEqual(1, treeFragments[3].Count);

                    GDMIndividualRecord iRec1 = ctx1.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec1);

                    GDMIndividualRecord iRec2 = ctx1.Tree.XRefIndex_Find("I3") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec2);

                    TreeTools.MergeRecord(baseWin, iRec1, iRec2, true);

                    treeFragments = TreeTools.SearchTreeFragments(ctx1.Tree, null);
                    Assert.AreEqual(3, treeFragments.Count);
                    Assert.AreEqual(13, treeFragments[0].Count);
                    Assert.AreEqual(15, treeFragments[1].Count);
                    Assert.AreEqual(1, treeFragments[2].Count);
                }
            }
        }
Ejemplo n.º 10
0
        public static IBaseContext LoadResourceGEDCOMFile(string resName)
        {
            BaseContext ctx = new BaseContext(null);

            using (Stream stream = TestUtils.LoadResourceStream(resName)) {
                var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                gedcomProvider.LoadFromStreamExt(stream, stream);
            }

            return(ctx);
        }
Ejemplo n.º 11
0
        public void SetUp()
        {
            // for static initialization
            GEDCOMProvider.SkipEmptyTag((int)GEDCOMTagType._AWARD);

            WFAppHost.ConfigureBootstrap(false);

            LangMan.DefInit();

            fContext = TestUtils.CreateContext();
            TestUtils.FillContext(fContext);
        }
Ejemplo n.º 12
0
        public static IBaseContext LoadResourceGEDCOMFile(string resName)
        {
            BaseContext ctx = new BaseContext(null);

            Assembly assembly = typeof(CoreTests).Assembly;

            using (Stream stream = assembly.GetManifestResourceStream("GKTests.Resources." + resName)) {
                var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                gedcomProvider.LoadFromStreamExt(stream, stream);
            }

            return(ctx);
        }
Ejemplo n.º 13
0
        public void SetUp()
        {
            // for static initialization
            GEDCOMProvider.SkipEmptyTag((int)GEDCOMTagType._AWARD);

            WFAppHost.ConfigureBootstrap(false);
            AppHost.Container.Register <IProgressController, ProgressStub>(LifeCycle.Singleton, true);

            LangMan.DefInit();

            fContext = TestUtils.CreateContext();
            TestUtils.FillContext(fContext);
        }
Ejemplo n.º 14
0
        public void SetUp()
        {
            // for static initialization
            GEDCOMProvider.SkipEmptyTag((int)GEDCOMTagType._AWARD);

            WFAppHost.ConfigureBootstrap(false);

            LangMan.DefInit();

            fBaseWin = new BaseWindowStub();

            AppHost.Container.Register <IProgressController, ProgressStub>(LifeCycle.Singleton, true);
            fProgress = new ProgressStub();
        }
Ejemplo n.º 15
0
        public void Test_TrueAnsel()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_ansel.ged")) {
                    var charsetRes = GKUtils.DetectCharset(stmGed1);
                    Assert.AreEqual(null, charsetRes.Charset);
                    Assert.GreaterOrEqual(charsetRes.Confidence, 0.0f);

                    Assert.AreEqual(GEDCOMFormat.gf_Unknown, ctx.Tree.Format);

                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Support function. Parse GEDCOM string.
        /// </summary>
        public static GDMIndividualRecord ParseIndiRec(string text)
        {
            GDMTree        tree = new GDMTree();
            GEDCOMProvider gp   = new GEDCOMProvider(tree);

            try {
                gp.LoadFromString(text);
            } catch (Exception) {
            }
            Assert.AreEqual(1, tree.RecordsCount);
            GDMIndividualRecord rec = tree[0] as GDMIndividualRecord;

            Assert.IsNotNull(rec);
            return(rec);
        }
Ejemplo n.º 17
0
        public void Test_GEDCOMFactory()
        {
            TagConstructor tagConst = TagConstructorTest;

            Assert.AreEqual(null, tagConst.Invoke(null, 0, "x"));

            //

            GDMTag tag = GEDCOMProvider.CreateTag(null, (int)GEDCOMTagType.DATE, "");

            Assert.IsNotNull(tag);

            tag = GEDCOMProvider.CreateTag(null, GEDCOMTagsTable.Lookup("TEST"), "");
            Assert.IsNotNull(tag);
            Assert.AreEqual("TEST", tag.GetTagName());
        }
Ejemplo n.º 18
0
        public void Test_CryptoLoadAndSave()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                Assembly assembly = typeof(CoreTests).Assembly;
                using (Stream stmGed1 = assembly.GetManifestResourceStream("GKTests.Resources.test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    string tempFileName = TestUtils.GetTempFilePath("test.geds");
                    ctx.SaveToSecFile(tempFileName, GEDCOMCharacterSet.csASCII, "test");

                    using (var ctx2 = new BaseContext(null)) {
                        ctx2.LoadFromSecFile(tempFileName, "test");
                    }
                }
            }
        }
Ejemplo n.º 19
0
        public void Test_MergeRecord_Fam()
        {
            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_mergerec.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                GDMFamilyRecord famRec1 = ctx1.Tree.XRefIndex_Find("F1") as GDMFamilyRecord;
                Assert.IsNotNull(famRec1);

                GDMFamilyRecord famRec2 = ctx1.Tree.XRefIndex_Find("F2") as GDMFamilyRecord;
                Assert.IsNotNull(famRec2);

                TreeTools.MergeRecord(baseWin, famRec1, famRec2, true);
            }
        }
Ejemplo n.º 20
0
        public void Test_Agelong_PseudoAnsel_Win1251()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_agelong_ansel(win1251).ged")) {
                    var charsetRes = GKUtils.DetectCharset(stmGed1);
                    Assert.AreEqual("windows-1251", charsetRes.Charset);
                    Assert.GreaterOrEqual(charsetRes.Confidence, 0.7f);

                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    Assert.AreEqual(GEDCOMFormat.gf_ALTREE, ctx.Tree.Format);

                    GDMIndividualRecord iRec1 = ctx.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec1);

                    Assert.AreEqual("Иван ОВЕЧКИН", iRec1.GetPrimaryFullName());
                }
            }
        }
Ejemplo n.º 21
0
        public void Test_Ahnenblatt_ANSI_Win1250()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_ahn_ansi(win1250).ged")) {
                    var charsetRes = GKUtils.DetectCharset(stmGed1);
                    Assert.AreEqual("windows-1252", charsetRes.Charset);
                    Assert.GreaterOrEqual(charsetRes.Confidence, 0.5f);

                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    Assert.AreEqual(GEDCOMFormat.gf_Ahnenblatt, ctx.Tree.Format);

                    GDMIndividualRecord iRec1 = ctx.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec1);

                    Assert.AreEqual("Stanisław Nowak", iRec1.GetPrimaryFullName());
                }
            }
        }
Ejemplo n.º 22
0
        public void Test_GK_UTF8()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_gk_utf8.ged")) {
                    var charsetRes = GKUtils.DetectCharset(stmGed1);
                    Assert.AreEqual("UTF-8", charsetRes.Charset);
                    Assert.AreEqual(1.0f, charsetRes.Confidence);

                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    Assert.AreEqual(GEDCOMFormat.gf_Native, ctx.Tree.Format);

                    GDMIndividualRecord iRec1 = ctx.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec1);

                    Assert.AreEqual("Иван Иванович Иванов", iRec1.GetPrimaryFullName());
                }
            }
        }
Ejemplo n.º 23
0
        public void Test_MergeTree_SelfTest()
        {
            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = TestUtils.LoadResourceStream("test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                using (var ctx2 = new BaseContext(null)) {
                    using (Stream stmGed2 = TestUtils.LoadResourceStream("test2.ged")) {
                        var gedcomProvider = new GEDCOMProvider(ctx2.Tree);
                        gedcomProvider.LoadFromStreamExt(stmGed2, stmGed2);
                    }

                    TreeTools.MergeTree(ctx1.Tree, ctx2.Tree, null, true);
                }
            }
        }
Ejemplo n.º 24
0
        public void Save()
        {
            string fileName = AppHost.StdDialogs.GetSaveFile("", "", LangMan.LS(LSID.LSID_GEDCOMFilter), 1, GKData.GEDCOM_EXT, "");

            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }

            TreeTools.CheckRelations(fSplitList);

            var tree = fBase.Context.Tree;

            GKUtils.PrepareHeader(tree, fileName, GlobalOptions.Instance.DefCharacterSet, true);

            using (StreamWriter fs = new StreamWriter(fileName, false, GEDCOMUtils.GetEncodingByCharacterSet(tree.Header.CharacterSet.Value))) {
                var gedcomProvider = new GEDCOMProvider(tree);
                gedcomProvider.SaveToStream(fs, fSplitList);
            }
        }
Ejemplo n.º 25
0
        public void Test_FTB6_ANSI_Win1251()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test_ftb6_ansi(win1251).ged")) {
                    var charsetRes = GKUtils.DetectCharset(stmGed1);
                    Assert.AreEqual("windows-1251", charsetRes.Charset);
                    Assert.GreaterOrEqual(charsetRes.Confidence, 0.9f);

                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    Assert.AreEqual(GEDCOMFormat.gf_FTB, ctx.Tree.Format);

                    GDMIndividualRecord iRec1 = ctx.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                    Assert.IsNotNull(iRec1);

                    Assert.AreEqual("Иван Васильевич Петров", iRec1.GetPrimaryFullName());
                }
            }
        }
Ejemplo n.º 26
0
        public static string GetTagStreamText(GDMTag tag, int level, bool debugWrite = true)
        {
            GEDCOMProvider.DebugWrite = debugWrite;

            string result;

            using (MemoryStream stm = new MemoryStream()) {
                using (StreamWriter fs = new StreamWriter(stm)) {
                    if (tag is GDMRecord)
                    {
                        GEDCOMProvider.WriteRecordEx(fs, (GDMRecord)tag);
                    }
                    else
                    {
                        if (tag is GDMPersonalName)
                        {
                            GEDCOMProvider.WritePersonalName(fs, 1, tag);
                        }
                        else if (tag is GDMMultimediaLink)
                        {
                            GEDCOMProvider.WriteMultimediaLink(fs, 1, tag);
                        }
                        else if (tag is GDMSourceCitation)
                        {
                            GEDCOMProvider.WriteSourceCitation(fs, 1, tag);
                        }
                        else if (tag is GDMSourceData)
                        {
                            GEDCOMProvider.WriteSourceData(fs, 1, tag);
                        }
                        else
                        {
                            GEDCOMProvider.WriteBaseTag(fs, level, tag);
                        }
                    }
                    fs.Flush();
                    result = Encoding.ASCII.GetString(stm.ToArray());
                }
            }
            return(result);
        }
Ejemplo n.º 27
0
        public void Test_MergeRecord_Indi()
        {
            Assembly assembly = typeof(CoreTests).Assembly;

            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = assembly.GetManifestResourceStream("GKTests.Resources.test_mergerec.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                GDMIndividualRecord iRec1 = ctx1.Tree.XRefIndex_Find("I1") as GDMIndividualRecord;
                Assert.IsNotNull(iRec1);

                GDMIndividualRecord iRec2 = ctx1.Tree.XRefIndex_Find("I4") as GDMIndividualRecord;
                Assert.IsNotNull(iRec2);

                TreeTools.MergeRecord(baseWin, iRec1, iRec2, true);
            }
        }
Ejemplo n.º 28
0
        public void Test_CryptoLoadAndSave()
        {
            using (BaseContext ctx = new BaseContext(null)) {
                using (Stream stmGed1 = TestUtils.LoadResourceStream("test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);

                    string tempFileName = TestUtils.GetTempFilePath("test.geds");

                    try {
                        ctx.SaveToSecFile(tempFileName, GEDCOMCharacterSet.csASCII, "test");

                        using (var ctx2 = new BaseContext(null)) {
                            ctx2.LoadFromSecFile(tempFileName, "test");
                        }
                    } finally {
                        TestUtils.RemoveTestFile(tempFileName);
                    }
                }
            }
        }
Ejemplo n.º 29
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string fileName = AppHost.StdDialogs.GetSaveFile("", "", LangMan.LS(LSID.LSID_GEDCOMFilter), 1, GKData.GEDCOM_EXT, "");

            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }

            TreeTools.CheckRelations(fSplitList);

            GKUtils.PrepareHeader(fTree, fileName, GlobalOptions.Instance.DefCharacterSet, true);

            using (StreamWriter fs = new StreamWriter(fileName, false, GEDCOMUtils.GetEncodingByCharacterSet(fTree.Header.CharacterSet)))
            {
                var gedcomProvider = new GEDCOMProvider(fTree);
                gedcomProvider.SaveToStream(fs, fSplitList);

                fTree.Header.CharacterSet = GEDCOMCharacterSet.csASCII;
            }
        }
Ejemplo n.º 30
0
        public void Test_MergeTree_SelfTest()
        {
            Assembly assembly = typeof(CoreTests).Assembly;

            using (var ctx1 = new BaseContext(null)) {
                IBaseWindow baseWin = new BaseWindowStub(ctx1);

                using (Stream stmGed1 = assembly.GetManifestResourceStream("GKTests.Resources.test1.ged")) {
                    var gedcomProvider = new GEDCOMProvider(ctx1.Tree);
                    gedcomProvider.LoadFromStreamExt(stmGed1, stmGed1);
                }

                using (var ctx2 = new BaseContext(null)) {
                    using (Stream stmGed2 = assembly.GetManifestResourceStream("GKTests.Resources.test2.ged")) {
                        var gedcomProvider = new GEDCOMProvider(ctx2.Tree);
                        gedcomProvider.LoadFromStreamExt(stmGed2, stmGed2);
                    }

                    TreeTools.MergeTree(ctx1.Tree, ctx2.Tree, null, true);
                }
            }
        }