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); }
public void RunPreMerge_Test(string masterPath, int numComps) { using (var master = GetMaster(masterPath)) { var appControllerMock = AppControllerMock; appControllerMock.Setup(x => x.Database) .Returns(master); var cmPresenter = new MergeComponentsPresenter(appControllerMock.Object); cmPresenter.FindComponents(System.IO.Path.GetDirectoryName(master.Path)); cmPresenter.MissingComponents.Should().HaveCount(0); cmPresenter.NumComponents.Should().Be(numComps); cmPresenter.IsPrepared.Should().BeFalse(); cmPresenter.RunPreMerge().Wait(); cmPresenter.IsPrepared.Should().BeTrue(); if (masterPath.StartsWith("Good\\")) { cmPresenter.GetNumConflicts().Should().Be(0); cmPresenter.HasConflicts.Should().BeFalse(); } } }
// 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 MergeComponentView(MergeComponentsPresenter viewPresenter) { ViewPresenter = viewPresenter; InitializeComponent(); ShowMergeInfoView(); }
public PreMergeReportView(MergeComponentsPresenter viewModel) { InitializeComponent(); ViewModel = viewModel; var reports = viewModel.GetPreMergeReports(); InitializeReportTabs(reports); }
public MergeInfoView(MergeComponentsPresenter viewModel, MergeComponentView hostView) { InitializeComponent(); ViewModel = viewModel; HostView = hostView; UpdateMasterInfo(); UpdateComponentInfo(); }
public void InitializeTest() { WindowPresenterStub wPresenter = new WindowPresenterStub(); using (DAL master = GetMaster()) { wPresenter.Database = master; MergeComponentsPresenter cmPresenter = new MergeComponentsPresenter(wPresenter, null); Assert.IsTrue(cmPresenter.MissingComponents.Count == 0); } }
public void Ctor_Test(string masterPath, int numComps) { using (var master = GetMaster(masterPath)) { AppControllerMock.Setup(x => x.Database) .Returns(master); var cmPresenter = new MergeComponentsPresenter(AppController); cmPresenter.NumComponents.Should().Be(numComps); } }
public void SyncDesign_Test_PullTreeDefaults() { var(master, compDbs) = MakeFiles(numComponents: 2); var components = compDbs.Select((x, i) => { return(new ComponentFile() { Database = x, Component_CN = i }); }) .ToArray(); var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master) .ToDictionary(x => x.ClientTableName); var comp1 = compDbs.First(); var comp1TDV1 = new TreeDefaultValue() { TreeDefaultValue_CN = 1000, Species = "nsp1", PrimaryProduct = "01", LiveDead = "L", }; comp1.Insert(comp1TDV1); MergeSyncWorker.SyncDesign( master, components, new System.Threading.CancellationToken(), (IProgress <int>)null, TestMergeLogWriter); var mastTDV1 = master.From <TreeDefaultValue>().Where($"Species = 'nsp1'").Query().FirstOrDefault(); mastTDV1.Should().NotBeNull(); ValidateTDVSame(mastTDV1, comp1TDV1); // because there should be no conflict with the CN values between the master and the component // the synced tdv should have the same cn value mastTDV1.TreeDefaultValue_CN.Should().Be(comp1TDV1.TreeDefaultValue_CN); var comp2 = compDbs.ElementAt(1); var comp2TDV1 = comp2.From <TreeDefaultValue>().Where("Species = 'nsp1'").Query().FirstOrDefault(); ValidateTDVSame(comp2TDV1, comp2TDV1); comp2TDV1.TreeDefaultValue_CN.Should().Be(comp1TDV1.TreeDefaultValue_CN); void ValidateTDVSame(TreeDefaultValue tdv1, TreeDefaultValue tdv2) { tdv1.Species.Should().Be(tdv2.Species); tdv1.PrimaryProduct.Should().Be(tdv2.PrimaryProduct); tdv1.LiveDead.Should().Be(tdv2.LiveDead); } }
public void SyncDesign_Test() { var(master, comps) = MakeFiles(); var compVMs = comps.Select((x, i) => { return(new ComponentFile() { Database = x, Component_CN = i }); }) .ToArray(); var commandBuilders = MergeComponentsPresenter.MakeCommandBuilders(master) .ToDictionary(x => x.ClientTableName); MergeSyncWorker.SyncDesign(master, compVMs, new System.Threading.CancellationToken(), null, TestMergeLogWriter); }
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 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(); } }