public void Test_MergeTree() { Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.MergeTree(null, null, null); }); Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.MergeTree(fBaseWin.Context.Tree, null, null); }); Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.MergeTreeFile(null, null, null); }); Assert.Throws(typeof(ArgumentNullException), () => { TreeTools.MergeTreeFile(fBaseWin.Context.Tree, null, null); }); }
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); } } }
private void btnTreeMerge_Click(object sender, EventArgs e) { string fileName = AppHost.StdDialogs.GetOpenFile("", "", LangMan.LS(LSID.LSID_GEDCOMFilter), 1, GKData.GEDCOM_EXT); if (string.IsNullOrEmpty(fileName)) { return; } edUpdateBase.Text = fileName; TreeTools.MergeTree(Base.Context.Tree, edUpdateBase.Text, mSyncRes); Base.RefreshLists(false); }
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); } } }
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); } } }