public void SelectTables_Collection() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); vm.AddObjects(GetDatabaseObjects(), null); // Act var selectedObjects = GetSelectedObjects(); vm.SelectObjects(selectedObjects); // Assert Assert.AreEqual(GetSelectedObjects().Count(), vm.GetSelectedObjects().Count()); for (var i = 0; i < vm.GetSelectedObjects().Count(); i++) { var a = vm.GetSelectedObjects().ElementAt(i); var b = selectedObjects.ElementAt(i); Assert.AreEqual(a.Name, b.Name); Assert.AreEqual(a.ObjectType, b.ObjectType); for (var j = 0; j < a.ExcludedColumns?.Count(); j++) { Assert.AreEqual(a.ExcludedColumns.ElementAt(0), b.ExcludedColumns.ElementAt(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()); }
public void GetSelectedObjects_WithObjects_PartialSelection() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects, null); foreach (var item in vm.Types.SelectMany(c => c.Schemas).OrderBy(c => c.Name)) { item.Objects.First().SetSelectedCommand.Execute(true); } // Act var result = vm.GetSelectedObjects().ToArray(); // Assert Assert.IsNotNull(result); Assert.AreEqual(6, result.Length); foreach (var item in vm.Types.SelectMany(c => c.Schemas).OrderBy(c => c.Name)) { Assert.IsTrue(result.Any(c => c.Name == item.Objects.First().ModelDisplayName)); } //Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Table).DisplayName, result[0].Name); //Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.View).DisplayName, result[1].Name); //Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Procedure).DisplayName, result[2].Name); //Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Procedure).DisplayName, result[3].Name); //Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Procedure).DisplayName, result[4].Name); }
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() { // 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); } } } }
public void SelectObjects_Null() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); //Act and assert Assert.Throws <ArgumentNullException>(() => vm.SelectObjects(null)); }
public void Constructors_CollectionsInitialized() { // Act var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); // Assert Assert.IsNotNull(vm.Types); }
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); }
public ObjectTreeController(ObjectTreeViewModel ViewModel, MainMenuViewModel MenuViewModel, IMessenger Messenger, IMapper Mapper) { viewModel = ViewModel; menuViewModel = MenuViewModel; viewModel.ObjectTree = new ObservableCollection <ObjectTreeViewEntity>(); messenger = Messenger; mapper = Mapper; }
public void GetSelectedObjects_NoTables() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); // Act var result = vm.GetSelectedObjects(); // Assert Assert.IsNotNull(result); Assert.IsEmpty(result); }
public void SelectTables_EmptyCollection() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var selectedTables = new SerializationTableModel[0]; // Act vm.SelectObjects(selectedTables); // Assert Assert.IsEmpty(vm.GetSelectedObjects()); }
public void AddObjects_EmptyCollection() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var objectsToAdd = new TableModel[0]; // Act vm.AddObjects(objectsToAdd, null); // Assert Assert.IsEmpty(vm.Types.SelectMany(t => t.Schemas)); }
public void GetSelectedObjects_WithObjects_NoneSelected() { // Arrange var vm = new ObjectTreeViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); vm.AddObjects(GetDatabaseObjects()); // Act var result = vm.GetSelectedObjects(); // Assert Assert.IsNotNull(result); Assert.IsEmpty(result); }
public void GetSelectionState_AllSelected() { // Arrange var vm = new ObjectTreeViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects); //Act foreach (var item in vm.Types.SelectMany(c => c.Objects)) { item.IsSelected = false; } //Assert Assert.IsFalse(vm.GetSelectionState()); }
public void GetSelectionState_PartialSelection() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects, null); //Act foreach (var item in vm.Types.SelectMany(c => c.Schemas).SelectMany(c => c.Objects).Take(1)) { item.SetSelectedCommand.Execute(true); } //Assert Assert.IsNull(vm.GetSelectionState()); }
public void SearchText_NoDirectFilter() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects, null); var preFilter = vm.Types.SelectMany(c => c.Schemas).SelectMany(c => c.Objects); // Act vm.Search("ref", SearchMode.Text); // Assert Assert.AreEqual(databaseObjects.Length, preFilter.Count()); var postFilter = vm.Types.SelectMany(c => c.Schemas).SelectMany(c => c.Objects).Where(c => c.IsVisible); Assert.AreEqual(2, postFilter.Count()); }
public void SearchText_FilterAfterDelay() { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects, null); // Act vm.Search("ref", SearchMode.Text); // Assert Assert.That(() => { var postFilter = vm.Types.SelectMany(c => c.Schemas).SelectMany(c => c.Objects).Where(c => c.IsVisible); return(postFilter.Count() < databaseObjects.Length && postFilter.All(m => m.Name.ToUpper().Contains("REF"))); }, Is.True.After(1500, 200)); }
public void AddObjects_Collection() { // Arrange var vm = new ObjectTreeViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var objects = GetDatabaseObjects(); // Act vm.AddObjects(objects); var vmobjects = vm.Types.SelectMany(t => t.Objects).ToArray(); // Assert Assert.IsNotEmpty(vm.Types.SelectMany(t => t.Objects)); Assert.AreEqual(objects.Length, vm.Types.SelectMany(t => t.Objects).Count()); for (var i = 0; i < objects.Count(); i++) { AreObjectsEqual(objects[i], vmobjects[i]); Assert.IsFalse(vm.Types.SelectMany(t => t.Objects).ElementAt(i).IsSelected); } }
public void SetSelectionState([Values(true, false)] bool selected) { // Arrange var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects, null); //Act vm.SetSelectionState(selected); //Assert if (selected) { Assert.AreEqual(vm.GetSelectedObjects().Count(), databaseObjects.Length); } else { Assert.AreEqual(vm.GetSelectedObjects().Count(), 0); } }
public void GetSelectedObjects_WithObjects_PartialSelection() { // Arrange var vm = new ObjectTreeViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects(); vm.AddObjects(databaseObjects); foreach (var item in vm.Types.Where(c => c.Objects.Any())) { item.Objects.First().IsSelected = true; } // Act var result = vm.GetSelectedObjects().ToArray(); // Assert Assert.IsNotNull(result); Assert.AreEqual(3, result.Length); Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Table).Name, result[0].Name); Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.View).Name, result[1].Name); Assert.AreEqual(databaseObjects.First(c => c.ObjectType == ObjectType.Procedure).Name, result[2].Name); }
public void GetSelectedObjects_WithObjects_AllSelected() { // Arrange var vm = new ObjectTreeViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject); var databaseObjects = GetDatabaseObjects().ToArray(); vm.AddObjects(databaseObjects); foreach (var item in vm.Types.SelectMany(c => c.Objects)) { item.IsSelected = true; } // Act var result = vm.GetSelectedObjects().ToArray(); // Assert Assert.IsNotNull(result); Assert.AreEqual(10, result.Count()); for (var i = 0; i < result.Length; i++) { Assert.AreEqual(databaseObjects[i].Name, result[i].Name); } }