Esempio n. 1
0
        public void AddTables_EmptyCollection()
        {
            // Arrange
            ITableInformationViewModel CreateTableInformationViewModelMockObject()
            {
                var mock = new Mock <ITableInformationViewModel>();

                mock.SetupAllProperties();
                return(mock.Object);
            }

            IColumnInformationViewModel CreateColumnInformationViewModelMockObject()
            {
                var mock = new Mock <IColumnInformationViewModel>();

                mock.SetupAllProperties();
                return(mock.Object);
            }

            IPickTablesViewModel vm = new PickTablesViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);
            var c = new TableModel[0];

            // Act
            vm.AddTables(c);

            // Assert
            Assert.IsEmpty(vm.Tables);
        }
Esempio n. 2
0
        public void AddTables_Collection()
        {
            // Arrange
            ITableInformationViewModel CreateTableInformationViewModelMockObject()
            {
                var mock = new Mock <ITableInformationViewModel>(MockBehavior.Default);

                mock.SetupAllProperties();
                mock.SetupGet(g => g.Columns).Returns(new ObservableCollection <IColumnInformationViewModel>());
                return(mock.Object);
            }

            IColumnInformationViewModel CreateColumnInformationViewModelMockObject()
            {
                var mock = new Mock <IColumnInformationViewModel>();

                mock.SetupAllProperties();
                return(mock.Object);
            }

            IPickTablesViewModel vm = new PickTablesViewModel(CreateTableInformationViewModelMockObject, CreateColumnInformationViewModelMockObject);
            var tt = GetTestViewModels();
            var c  = tt.Select(m => new TableModel(m.Name, m.HasPrimaryKey, m.ObjectType, m.Columns.Select(co => new ColumnModel(co.Name, true)))).ToArray();

            // Act
            vm.AddTables(c);
            var vmt = vm.Tables.Select(m => new TableModel(m.Name, m.HasPrimaryKey, m.ObjectType, m.Columns.Select(co => new ColumnModel(co.Name, true)))).ToArray();

            // Assert
            Assert.IsNotEmpty(vm.Tables);
            Assert.AreEqual(tt.Length, vm.Tables.Count);
            AreTableEqual(c[0], vmt[0]);
            Assert.IsFalse(vm.Tables[0].IsSelected);
            AreTableEqual(c[1], vmt[1]);
            Assert.IsFalse(vm.Tables[1].IsSelected);
            AreTableEqual(c[2], vmt[2]);
            Assert.IsFalse(vm.Tables[2].IsSelected);
            AreTableEqual(c[3], vmt[3]);
            Assert.IsFalse(vm.Tables[3].IsSelected);
            AreTableEqual(c[4], vmt[4]);
            Assert.IsFalse(vm.Tables[4].IsSelected);
            AreTableEqual(c[5], vmt[5]);
            Assert.IsFalse(vm.Tables[5].IsSelected);
        }
Esempio n. 3
0
        public void Update_TableSelectionThreeState_OnTableSelectionChanged_NoTablesSelected()
        {
            // Arrange

            // Test relies on PropertyChanged, so we rely on the real view model here
            ITableInformationViewModel CreateTableInformationViewModel() => new TableInformationViewModel();
            IColumnInformationViewModel CreateColumnInformationViewModel() => new ColumnInformationViewModel();

            IPickTablesViewModel vm = new PickTablesViewModel(CreateTableInformationViewModel, CreateColumnInformationViewModel);
            var tt = GetTestViewModels();

            vm.AddTables(tt.Select(m => new TableModel(m.Name, m.HasPrimaryKey, m.ObjectType, new List <ColumnModel>())));

            // Act
            foreach (var table in vm.Tables)
            {
                table.IsSelected = false;
            }

            // Assert
            Assert.IsFalse(vm.TableSelectionThreeState);
        }
        public void AddTables_Null()
        {
            // Arrange
            var osa = Mock.Of <IOperatingSystemAccess>();
            var fsa = Mock.Of <IFileSystemAccess>();

            ITableInformationViewModel CreateTableInformationViewModelMockObject()
            {
                var mock = new Mock <ITableInformationViewModel>();

                mock.SetupAllProperties();
                return(mock.Object);
            }

            IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModelMockObject);

            // Act
            vm.AddTables(null);

            // Assert
            Assert.IsEmpty(vm.Tables);
        }
Esempio n. 5
0
        public void Update_TableSelectionThreeState_OnTableSelectionChanged_MixedTableSelection()
        {
            // Arrange

            // Test relies on PropertyChanged, so we rely on the real view model here
            ITableInformationViewModel CreateTableInformationViewModel() => new TableInformationViewModel();
            IColumnInformationViewModel CreateColumnInformationViewModel() => new ColumnInformationViewModel();

            IPickTablesViewModel vm = new PickTablesViewModel(CreateTableInformationViewModel, CreateColumnInformationViewModel);
            var tt = GetTestViewModels();

            vm.AddTables(tt.Select(m => new TableModel(m.Name, m.HasPrimaryKey, m.ObjectType, m.Columns.Select(co => new ColumnModel(co.Name, true)))));

            // Act
            for (var i = 0; i < vm.Tables.Count; i++)
            {
                var table = vm.Tables[i];
                table.IsSelected = i % 2 == 0;
            }

            // Assert
            Assert.IsNull(vm.TableSelectionThreeState);
        }
        public void Update_TableSelectionThreeState_OnTableSelectionChanged_NoTablesSelected()
        {
            // Arrange
            var osa = Mock.Of <IOperatingSystemAccess>();
            var fsa = Mock.Of <IFileSystemAccess>();

            // Test relies on PropertyChanged, so we rely on the real view model here
            ITableInformationViewModel CreateTableInformationViewModel() => new TableInformationViewModel();

            IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModel);
            var tt = GetTestViewModels();

            vm.AddTables(tt.Select(m => m.Model));

            // Act
            foreach (var table in vm.Tables)
            {
                table.IsSelected = false;
            }

            // Assert
            Assert.IsFalse(vm.TableSelectionThreeState);
        }
        public void AddTables_Collection()
        {
            // Arrange
            var osa = Mock.Of <IOperatingSystemAccess>();
            var fsa = Mock.Of <IFileSystemAccess>();

            ITableInformationViewModel CreateTableInformationViewModelMockObject()
            {
                var mock = new Mock <ITableInformationViewModel>();

                mock.SetupAllProperties();
                return(mock.Object);
            }

            IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModelMockObject);
            var tt = GetTestViewModels();
            var c  = tt.Select(m => m.Model).ToArray();

            // Act
            vm.AddTables(c);

            // Assert
            Assert.IsNotEmpty(vm.Tables);
            Assert.AreEqual(tt.Length, vm.Tables.Count);
            Assert.AreSame(tt[0].Model, vm.Tables[0].Model);
            Assert.IsFalse(vm.Tables[0].IsSelected);
            Assert.AreSame(tt[1].Model, vm.Tables[1].Model);
            Assert.IsFalse(vm.Tables[1].IsSelected);
            Assert.AreSame(tt[2].Model, vm.Tables[2].Model);
            Assert.IsFalse(vm.Tables[2].IsSelected);
            Assert.AreSame(tt[3].Model, vm.Tables[3].Model);
            Assert.IsFalse(vm.Tables[3].IsSelected);
            Assert.AreSame(tt[4].Model, vm.Tables[4].Model);
            Assert.IsFalse(vm.Tables[4].IsSelected);
            Assert.AreSame(tt[5].Model, vm.Tables[5].Model);
            Assert.IsFalse(vm.Tables[5].IsSelected);
        }
        public void Update_TableSelectionThreeState_OnTableSelectionChanged_MixedTableSelection()
        {
            // Arrange
            var osa = Mock.Of <IOperatingSystemAccess>();
            var fsa = Mock.Of <IFileSystemAccess>();

            // Test relies on PropertyChanged, so we rely on the real view model here
            ITableInformationViewModel CreateTableInformationViewModel() => new TableInformationViewModel();

            IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModel);
            var tt = GetTestViewModels();

            vm.AddTables(tt.Select(m => m.Model));

            // Act
            for (var i = 0; i < vm.Tables.Count; i++)
            {
                var table = vm.Tables[i];
                table.IsSelected = i % 2 == 0;
            }

            // Assert
            Assert.IsNull(vm.TableSelectionThreeState);
        }