public void ProcessMergeTables_Test() { var(master, comps) = MakeFiles("ProcessMergeTables", 2); var compVMs = comps.Select((x, i) => { return(new ComponentFile() { Database = x, Component_CN = i }); }) .ToArray(); var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master); PrepareMergeWorker.MakeMergeTables(master, commandBuilders, new System.Threading.CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); PrepareMergeWorker.PopulateMergeTables( master, compVMs, commandBuilders, new CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); PrepareMergeWorker.ProcessMergeTables( master, compVMs, commandBuilders, new CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); }
// test merging new tally setup added to component one // after merge there should be new samplegroups and tally setup in master and component 2 public void PerformMergeTest_newCountTree2() { var masterPath = TESTMERGENEWCOUNTS2_MASTER; var numComps = 2; var(master, components) = FindFiles(masterPath); using (master) { var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master); var commandBuilderDict = commandBuilders.ToDictionary(x => x.ClientTableName); var mergeLog = new TestMergeLogWriter(Output); PrepareMergeWorker.DoWork(master, components, commandBuilders, new System.Threading.CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); MergeSyncWorker.DoMerge(master, components, commandBuilderDict, new System.Threading.CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); var comp1 = components.ElementAt(0); var comp2 = components.ElementAt(1); comp2.Database.From <CountTreeDO>().Where("SampleGroup_CN > 1").Query().ToArray(); var comp1CtCount = comp1.Database.ExecuteScalar <int>("SELECT count(*) FROM CountTree;"); var comp2CtCount = comp2.Database.ExecuteScalar <int>("SELECT count(*) FROM CountTree;"); var masterCtCount = master.ExecuteScalar <int>("SELECT count(*) FROM CountTree WHERE Component_CN IS NULL;"); masterCtCount.Should().Be(comp1CtCount); comp2CtCount.Should().Be(comp1CtCount); } }
public void PrepareMerge_Test_With_Files(string masterPath, int numComps) { var(master, components) = FindFiles(masterPath); components.Should().HaveCount(numComps); var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master); using (master) { PrepareMergeWorker.DoWork( master, components, commandBuilders, new System.Threading.CancellationToken(), null, new TestMergeLogWriter(Output)); } }
public void MakeMergeTables_Test() { var(master, comps) = MakeFiles("MakeMergeTables", 2); var compVMs = comps.Select((x, i) => { return(new ComponentFile() { Database = x, Component_CN = i }); }) .ToArray(); var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master); PrepareMergeWorker.MakeMergeTables(master, commandBuilders, new System.Threading.CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); foreach (var cmd in commandBuilders) { master.CheckTableExists(cmd.MergeTableName).Should().BeTrue(); Output.WriteLine(master.GetTableSQL(cmd.MergeTableName)); } }
public void SyncFieldData_Pull_Tree_Insert() { var cancelation = new System.Threading.CancellationToken(); var(master, compDbs, components, commandBuilders) = Setup(); var comp1 = compDbs.First(); var newTree = new Tree() { Stratum_CN = 1, CuttingUnit_CN = 1, SampleGroup_CN = 1, Tree_GUID = Guid.NewGuid().ToString().ToUpper(), TreeNumber = 1, }; comp1.Insert(newTree); PrepareMergeWorker.DoWork( master, components, commandBuilders.Values, cancelation, (IProgress <int>)null, TestMergeLogWriter); MergeSyncWorker.SyncFieldData( master, components, commandBuilders, cancelation, (IProgress <int>)null, TestMergeLogWriter); var masterNewTree = master.From <Tree>().Query().First(); newTree.Tree_CN.Should().Be(masterNewTree.Tree_CN); newTree.CuttingUnit_CN.Should().Be(masterNewTree.CuttingUnit_CN); newTree.Stratum_CN.Should().Be(masterNewTree.Stratum_CN); newTree.SampleGroup_CN.Should().Be(masterNewTree.SampleGroup_CN); newTree.Tree_GUID.Should().Be(masterNewTree.Tree_GUID); }
public void PerformMergeTest() { WindowPresenterStub wPresenter = new WindowPresenterStub(); using (DAL master = GetMaster()) { wPresenter.Database = master; MergeComponentsPresenter cmPresenter = new MergeComponentsPresenter(wPresenter, null); Assert.IsTrue(cmPresenter.MissingComponents.Count == 0); PrepareMergeWorker worker = new PrepareMergeWorker(cmPresenter); worker.ProgressChanged += HandleProgressChanged; worker.BeginWork(); worker.Wait(); MergeSyncWorker syncWorker = new MergeSyncWorker(cmPresenter); syncWorker.ProgressChanged += HandleProgressChanged; syncWorker.BeginWork(); syncWorker.Wait(); } }