示例#1
0
        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));
                }
            }
        }
示例#2
0
        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);
        }
示例#3
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());
        }
示例#4
0
        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);
            }
        }
示例#5
0
        public void GetSelectedObjects_NoTables()
        {
            // Arrange
            var vm = new ObjectTreeViewModel(CreateSchemaInformationViewModelMockObject, CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);

            // Act
            var result = vm.GetSelectedObjects();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsEmpty(result);
        }
示例#6
0
        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());
        }
示例#7
0
        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);
        }
示例#8
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);
        }
示例#9
0
        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);
            }
        }