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 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));
            }
        }