private static void AddObjects(ObjectTreeRootItemViewModel vm)
 {
     foreach (var item in GetDatabaseObjects())
     {
         vm.Objects.Add(item);
     }
 }
        public void Text_DifferentValue()
        {
            // Arrange
            var propertyChangedInvoked = false;
            var vm = new ObjectTreeRootItemViewModel();

            vm.Text             = "Tables";
            vm.PropertyChanged += (sender, args) => propertyChangedInvoked = true;

            // Act
            vm.Text = "Views";

            // Assert
            Assert.IsTrue(propertyChangedInvoked);
        }
        public void IsVisible_PartialVisible()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Objects.Take(1))
            {
                item.IsVisible = false;
            }

            // Assert
            Assert.IsTrue(vm.IsVisible);
        }
        public void IsVisible_NoneVisible()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Objects)
            {
                item.IsVisible = false;
            }

            // Assert
            Assert.IsFalse(vm.IsVisible);
        }
        public void IsSelected_PartialSelection()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Objects.Take(3))
            {
                item.IsSelected = vm.Objects.IndexOf(item) % 2 == 0;
            }

            // Assert
            Assert.IsNull(vm.IsSelected);
        }
        public void IsSelected_NoneSelected()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Objects)
            {
                item.IsSelected = false;
            }

            // Assert
            Assert.IsFalse(vm.IsSelected);
        }
        public void IsSelected_PartialSelection()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Schemas)
            {
                item.SetSelectedCommand.Execute(vm.Schemas.IndexOf(item) % 2 == 0);
            }

            // Assert
            Assert.IsNull(vm.IsSelected);
        }
        public void IsSelected_NoneSelected()
        {
            // Arrange
            var vm = new ObjectTreeRootItemViewModel();

            AddObjects(vm);

            // Act
            foreach (var item in vm.Schemas)
            {
                item.SetSelectedCommand.Execute(false);
            }

            // Assert
            Assert.IsFalse(vm.IsSelected);
        }