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); }
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); }
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); }
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); }