public async Task SaveTreeTest()
        {
            MsSqlServer server = new MsSqlServer()
            {
                Server             = @"DESKTOP-H3A8TDA\SQLEXPRESS",
                IntegratedSecurity = true
            };

            if (!await server.TestConnectionAsync())
            {
                throw new Exception();
            }

            Database    database = new Database("northwind");
            MsSqlLoader loader   = new MsSqlLoader(server);
            await loader.LoadChildren(database);

            using (FileStream fs = new FileStream(Path, FileMode.OpenOrCreate))
            {
                fs.SetLength(0);
                DataContractSerializer saver = new DataContractSerializer(typeof(SaveData));
                saver.WriteObject(fs, new SaveData(loader, database));
            }

            Assert.IsTrue(File.Exists(Path));
        }
        public async Task LoadChildrenTest()
        {
            MsSqlServer server = new MsSqlServer()
            {
                Server             = @"DESKTOP-H3A8TDA\SQLEXPRESS",
                IntegratedSecurity = true
            };

            if (!await server.TestConnectionAsync())
            {
                throw new Exception();
            }

            Database database = new Database("northwind");

            MsSqlLoader loader = new MsSqlLoader(server);

            await loader.LoadChildren(database);

            Assert.IsTrue(database.Children.Count != 0);
        }
        public async Task LoadDescription()
        {
            MsSqlServer server = new MsSqlServer()
            {
                Server             = @"DESKTOP-H3A8TDA\SQLEXPRESS",
                IntegratedSecurity = true
            };

            if (!await server.TestConnectionAsync())
            {
                throw new Exception();
            }

            Database    database = new Database("northwind");
            MsSqlLoader loader   = new MsSqlLoader(server);
            await loader.LoadChildren(database);

            DbObject child = database.Children.First();

            new MsSqlPrinterFactory().GetPrinter(child).GetDefintition(child);


            Assert.IsTrue(!string.IsNullOrWhiteSpace(child.Definition));
        }