示例#1
0
        public void AddObjects_Replacers()
        {
            // Arrange
            var vm        = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);
            var objects   = GetDatabaseObjects().ToArray();
            var replacers = GetReplacers();

            // Act
            vm.AddObjects(objects, replacers);
            var vmobjects = vm.Types.SelectMany(t => t.Schemas).SelectMany(c => c.Objects).ToArray();

            vm.SetSelectionState(true);
            var renamers = vm.GetRenamedObjects();

            // Assert
            Assert.AreEqual(replacers.Length, renamers.Count());

            foreach (var replacerSchema in replacers)
            {
                foreach (var table in replacerSchema.Tables)
                {
                    var vmobject = vmobjects.First(o => o.Schema == replacerSchema.SchemaName && o.Name.Equals(table.Name, StringComparison.OrdinalIgnoreCase));
                    Assert.AreEqual(vmobject.NewName, table.NewName);
                    foreach (var column in table.Columns)
                    {
                        Assert.AreEqual(vmobject.Columns.First(c => c.Name.Equals(column.Name, StringComparison.OrdinalIgnoreCase)).NewName, column.NewName);
                    }
                }
            }
        }
示例#2
0
        public void GetSelectedObjects_WithObjects_AllSelected()
        {
            // Arrange
            var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);
            var databaseObjects = GetDatabaseObjects().OrderBy(c => c.Schema).ThenBy(c => c.Name).ToArray();

            vm.AddObjects(databaseObjects, null);
            foreach (var item in vm.Types)
            {
                item.SetSelectedCommand.Execute(true);
            }

            // Act
            var result = vm.GetSelectedObjects().OrderBy(c => c.Name).ToArray();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(11, result.Count());
            for (var i = 0; i < result.Length - 1; i++)
            {
                Assert.AreEqual(databaseObjects[i + 1].DisplayName, result[i].Name);
            }

            // Act
            var renamed = vm.GetRenamedObjects();

            Assert.AreEqual(0, renamed.Count());
        }
示例#3
0
        public void GetRenamedObjects()
        {
            // Arrange
            var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);
            var databaseObjects = GetDatabaseObjects();

            vm.AddObjects(databaseObjects, null);

            //Act
            vm.Types[0].Schemas[0].Objects[0].SetSelectedCommand.Execute(true);
            vm.Types[0].Schemas[0].Objects[0].NewName            = "NewTableName";
            vm.Types[0].Schemas[0].Objects[0].Columns[0].NewName = "NewColumnName";

            vm.Types[0].Schemas[3].Objects[0].SetSelectedCommand.Execute(true);
            vm.Types[0].Schemas[3].Objects[0].NewName = "DepartmentDetail";

            vm.Types[0].Schemas[3].Objects[0].Columns[0].SetSelectedCommand.Execute(true);
            vm.Types[0].Schemas[3].Objects[0].Columns[0].NewName = "DepartmentName";

            //Assert
            var renamedObjects = vm.GetRenamedObjects();

            Assert.IsNotNull(renamedObjects);
            Assert.AreSame(renamedObjects.First().Tables[0].NewName, "NewTableName");
            Assert.AreSame(renamedObjects.First().Tables[0].Columns[0].NewName, "NewColumnName");

            Assert.AreSame(renamedObjects.Last().Tables[0].NewName, "DepartmentDetail");
            Assert.AreSame(renamedObjects.Last().Tables[0].Columns[0].NewName, "DepartmentName");
        }
        public void AddObjects_Replacers_Issue679()
        {
            // Arrange
            var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);

            var objects = new TableModel[2];

            objects[0] = new TableModel("departmentdetail", null, ReverseEngineer20.DatabaseType.Mysql, ObjectType.Table, new List <ColumnModel> {
                new ColumnModel("DEPTCode", false)
            }.ToArray());
            objects[1] = new TableModel("employeedetail", null, ReverseEngineer20.DatabaseType.Mysql, ObjectType.Table, new List <ColumnModel> {
                new ColumnModel("EMPCode", false)
            }.ToArray());

            var replacers = new Schema[1];

            replacers[0] = new Schema()
            {
                SchemaName    = null,
                UseSchemaName = false,
                Tables        = new List <TableRenamer>
                {
                    new TableRenamer
                    {
                        Name    = "departmentdetail",
                        NewName = "DepartmentDetail",
                        Columns = new List <ColumnNamer>
                        {
                            new ColumnNamer {
                                Name = "DEPTCode", NewName = "DEPTCode"
                            },
                        }
                    },
                    new TableRenamer
                    {
                        Name    = "employeedetail",
                        NewName = "EmployeeDetail",
                        Columns = new List <ColumnNamer>
                        {
                            new ColumnNamer {
                                Name = "EMPCode", NewName = "EMPCode"
                            },
                        }
                    }
                },
            };

            // Act
            vm.AddObjects(objects, replacers);
            vm.SetSelectionState(true);
            var renamers = vm.GetRenamedObjects();

            // Assert
            Assert.AreEqual(1, renamers.First().Tables[0].Columns.Count);
            Assert.AreEqual(1, renamers.First().Tables[1].Columns.Count);
        }