public void Addition()
        {
            IIndex index = GetIndex();
            IMergeOperation<IIndex> op = new IndexAdditionOperation(index.Parent, index);

            Assert.That(op.ToString(), Is.EqualTo("DB1.Table2.Index1 Added"));
        }
Example #2
0
        public void Addition()
        {
            IIndex index = GetIndex();
            IMergeOperation <IIndex> op = new IndexAdditionOperation(index.Parent, index);

            Assert.That(op.ToString(), Is.EqualTo("DB1.Table2.Index1 Added"));
        }
Example #3
0
            public void The_Original_Database_Should_Contain_A_Copy_Of_The_New_Index()
            {
                var db1 = TestDatabaseLoader.TestDatabase();

                // Setup new key information
                Table parentTable = new Table("Table1");

                parentTable.AddColumn(new Column("Column3"));
                Index newIndex = new Index("UQ_Column3");

                newIndex.Parent = parentTable;
                newIndex.AddColumn("Column3");

                IndexAdditionOperation op = new IndexAdditionOperation(db1.Tables[0], newIndex);

                op.RunOperation();
                op.RunSecondStep();

                Assert.That(db1.Tables[0].Indexes, Has.Count(2));
                Assert.That(db1.Tables[0].Indexes[1].Name, Is.EqualTo(newIndex.Name));
                Assert.That(db1.Tables[0].Indexes[1], Is.Not.SameAs(newIndex), "The added Index should be a copy, not the original object.");
                Assert.That(db1.Tables[0].Indexes[1].Columns[0], Is.SameAs(db1.Tables[0].Columns[2]), "The new Index should reference existing columns, not the new ones");
                Assert.That(db1.Tables[0].Indexes[1].Parent, Is.SameAs(db1.Tables[0]), "The new Index's parent should be Table1 in the existing database");
            }
            public void The_Original_Database_Should_Contain_A_Copy_Of_The_New_Index()
            {
                var db1 = TestDatabaseLoader.TestDatabase();

                // Setup new key information
                Table parentTable = new Table("Table1");
                parentTable.AddColumn(new Column("Column3"));
                Index newIndex = new Index("UQ_Column3");
                newIndex.Parent = parentTable;
                newIndex.AddColumn("Column3");

                IndexAdditionOperation op = new IndexAdditionOperation(db1.Tables[0], newIndex);
                op.RunOperation();
                op.RunSecondStep();

                Assert.That(db1.Tables[0].Indexes, Has.Count(2));
                Assert.That(db1.Tables[0].Indexes[1].Name, Is.EqualTo(newIndex.Name));
                Assert.That(db1.Tables[0].Indexes[1], Is.Not.SameAs(newIndex), "The added Index should be a copy, not the original object.");
                Assert.That(db1.Tables[0].Indexes[1].Columns[0], Is.SameAs(db1.Tables[0].Columns[2]), "The new Index should reference existing columns, not the new ones");
                Assert.That(db1.Tables[0].Indexes[1].Parent, Is.SameAs(db1.Tables[0]), "The new Index's parent should be Table1 in the existing database");
            }