public void WheProcedureChanged()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };
            var          sproc       = CreateProcedure();
            const string orderByName = " ORDER BY NAME";

            sproc.Sql += orderByName;
            var compareProcedures = new List <DatabaseStoredProcedure> {
                sproc
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("DROP PROCEDURE"));
            Assert.IsTrue(result.Contains("CREATE PROCEDURE"));
            Assert.IsTrue(result.Contains(orderByName));
        }
Beispiel #2
0
        public void WheProcedureChanged()
        {
            //arrange
            var sb     = new StringBuilder();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };
            var          sproc       = CreateProcedure();
            const string orderByName = " ORDER BY NAME";

            sproc.Sql += orderByName;
            var compareProcedures = new List <DatabaseStoredProcedure> {
                sproc
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = sb.ToString();

            //assert
            Assert.IsTrue(result.Contains("DROP PROCEDURE"));
            Assert.IsTrue(result.Contains("CREATE PROCEDURE"));
            Assert.IsTrue(result.Contains(orderByName));
        }
Beispiel #3
0
        public void WhenViewChanged()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareViews(sb, writer);

            var baseViews = new List <DatabaseView> {
                CreateView()
            };
            var          view        = CreateView();
            const string orderByName = " ORDER BY NAME";

            view.Sql += orderByName;
            var compareViews = new List <DatabaseView> {
                view
            };

            //act
            target.Execute(baseViews, compareViews);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("DROP VIEW"));
            Assert.IsTrue(result.Contains("CREATE VIEW"));
            Assert.IsTrue(result.Contains(orderByName));
        }
Beispiel #4
0
        public void WhenViewsIdenticalWithDifferentFormatSql()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareViews(sb, writer);

            var databaseView = CreateView();

            databaseView.Sql = @"
create view ""Alphabetical list of products"" AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))
";
            var baseViews = new List <DatabaseView> {
                databaseView
            };
            var databaseView2 = CreateView();

            databaseView2.Sql = @"create view [dbo].[Alphabetical list of products] AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))";
            var compareViews = new List <DatabaseView> {
                databaseView2
            };

            //act
            target.Execute(baseViews, compareViews);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(string.IsNullOrEmpty(result));
        }
        public void WhenTableUniqueConstraintChanged()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareTables(sb, writer);

            var baseTable = CreateTable();

            baseTable.FindColumn("B").AddUniqueKey("UK_TEST");
            var baseTables = new List <DatabaseTable> {
                baseTable
            };
            var compareTable = CreateTable().AddColumn("D", DbType.Int32).Table;

            compareTable.FindColumn("D").AddUniqueKey("UK_TEST");
            var compareTables = new List <DatabaseTable> {
                compareTable
            };

            //act
            target.Execute(baseTables, compareTables);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] ADD [D] INT"), "add the new column");
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] DROP CONSTRAINT [UK_TEST]"), "drop the old unique key");
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] ADD CONSTRAINT [UK_TEST] UNIQUE ([D])"), "add the new unique key");
        }
        public void WhenTablePrimaryKeyChanged()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareTables(sb, writer);

            var baseTables = new List <DatabaseTable> {
                CreateTable()
            };
            var table = CreateTable().AddColumn("D", DbType.Int32).Table;

            table.PrimaryKey.Columns.Clear();
            table.PrimaryKey.Columns.Add("D");//the primary key is D, not A
            var compareTables = new List <DatabaseTable> {
                table
            };

            //act
            target.Execute(baseTables, compareTables);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] ADD [D] INT"), "add the new column");
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] DROP CONSTRAINT [PK_TEST]"), "drop the old pk");
            Assert.IsTrue(result.Contains("ALTER TABLE [Test] ADD CONSTRAINT [PK_TEST] PRIMARY KEY ([D])"), "add the new pk");
        }
        public void WhenViewChanged()
        {
            //arrange
            var sb     = new StringBuilder();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareViews(sb, writer);

            var baseViews = new List <DatabaseView> {
                CreateView()
            };
            var          view        = CreateView();
            const string orderByName = " ORDER BY NAME";

            view.Sql += orderByName;
            var compareViews = new List <DatabaseView> {
                view
            };

            //act
            target.Execute(baseViews, compareViews);
            var result = sb.ToString();

            //assert
            Assert.IsTrue(result.Contains("DROP VIEW"));
            Assert.IsTrue(result.Contains("CREATE VIEW"));
            Assert.IsTrue(result.Contains(orderByName));
        }
Beispiel #8
0
 private ComparisonProgressDialogData(HeapReconstructor aReconstructor1, HeapReconstructor aReconstructor2, string aFileName)
 {
     iReconstructor1 = aReconstructor1;
     iReconstructor2 = aReconstructor2;
     //
     InitializeComponent();
     //
     iReconstructor1.iObserver += new HeapReconstructor.Observer(HeapReconstructorObserver);
     iReconstructor2.iObserver += new HeapReconstructor.Observer(HeapReconstructorObserver);
     //
     iComparisonEngine            = new ComparsionEngine(iReconstructor1, iReconstructor2);
     iComparisonEngine.iObserver += new AsyncReaderBase.Observer(ComparisonEngineObserver);
     //
     iComparisonWriter            = new ComparisonWriter(iComparisonEngine, aFileName);
     iComparisonWriter.iObserver += new AsyncTextWriterBase.Observer(ComparsionWriterObserver);
     //
     iTimer_OpStart.Start();
 }
        public void WhenProcedureAdded()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures    = new List <DatabaseStoredProcedure>();
            var compareProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("CREATE PROCEDURE"));
        }
Beispiel #10
0
        public void WhenViewAdded()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareViews(sb, writer);

            var baseViews    = new List <DatabaseView>();
            var compareViews = new List <DatabaseView> {
                CreateView()
            };

            //act
            target.Execute(baseViews, compareViews);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(result.Contains("CREATE VIEW"));
        }
Beispiel #11
0
        public void WhenProcedureAdded()
        {
            //arrange
            var sb     = new StringBuilder();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures    = new List <DatabaseStoredProcedure>();
            var compareProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = sb.ToString();

            //assert
            Assert.IsTrue(result.Contains("CREATE PROCEDURE"));
        }
        public void WhenViewAdded()
        {
            //arrange
            var sb     = new StringBuilder();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareViews(sb, writer);

            var baseViews    = new List <DatabaseView>();
            var compareViews = new List <DatabaseView> {
                CreateView()
            };

            //act
            target.Execute(baseViews, compareViews);
            var result = sb.ToString();

            //assert
            Assert.IsTrue(result.Contains("CREATE VIEW"));
        }
        public void WhenProceduresIdentical()
        {
            //arrange
            var sb     = new List <CompareResult>();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };
            var compareProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = string.Join(Environment.NewLine, sb.Select(x => x.Script).ToArray());

            //assert
            Assert.IsTrue(string.IsNullOrEmpty(result));
        }
Beispiel #14
0
        public void WhenProceduresIdentical()
        {
            //arrange
            var sb     = new StringBuilder();
            var writer = new ComparisonWriter(SqlType.SqlServer);
            var target = new CompareProcedures(sb, writer);

            var baseProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };
            var compareProcedures = new List <DatabaseStoredProcedure> {
                CreateProcedure()
            };

            //act
            target.Execute(baseProcedures, compareProcedures);
            var result = sb.ToString();

            //assert
            Assert.IsTrue(string.IsNullOrEmpty(result));
        }