public void MultipleActionsWithoutSuspendingNotifications() { var counter = 0; var fastCollection = new FastObservableCollection <int>(); fastCollection.AutomaticallyDispatchChangeNotifications = false; fastCollection.CollectionChanged += (sender, e) => counter++; fastCollection.Add(0); fastCollection.Add(1); fastCollection.Remove(0); fastCollection.Remove(1); fastCollection.AddRange(new[] { 1, 2 }); fastCollection[0] = 5; fastCollection.Move(0, 1); fastCollection.Clear(); Assert.AreEqual(9, counter); }
/// <summary> /// Initializes a new instance of the <see cref="EmployeesViewModel"/> class. /// </summary> public EmployeesViewModel(IMessageMediator messageMediator, IUIVisualizerService uiVisualizerService, IEmployeeRepository employeeRepository, IMessageService messageService) : base(messageMediator) { Argument.IsNotNull(() => uiVisualizerService); Argument.IsNotNull(() => employeeRepository); Argument.IsNotNull(() => messageService); _uiVisualizerService = uiVisualizerService; _employeeRepository = employeeRepository; _messageService = messageService; AddEmployee = new Command(OnAddEmployeeExecute); EditEmployee = new Command(OnEditEmployeeExecute, OnEditEmployeeCanExecute); DeleteEmployee = new Command(OnDeleteEmployeeExecute, OnDeleteEmployeeCanExecute); Employees = new FastObservableCollection<IEmployee>(); if (!ObjectHelper.IsNull(SelectedDepartment)) { Employees.AddRange(EmployeeRepository.GetAllEmployees(SelectedDepartment.Name)); } if (Employees.Count > 0) { SelectedEmployee = Employees[0]; } Mediator.Register<string>(this, OnSelectedDepartmentUpdated, "UpdateEmployees"); }
/// <summary> /// Initializes a new instance of the <see cref="EmployeesViewModel"/> class. /// </summary> public EmployeesViewModel(IMessageMediator messageMediator, IUIVisualizerService uiVisualizerService, IEmployeeRepository employeeRepository, IMessageService messageService) : base(messageMediator) { Argument.IsNotNull(() => uiVisualizerService); Argument.IsNotNull(() => employeeRepository); Argument.IsNotNull(() => messageService); _uiVisualizerService = uiVisualizerService; _employeeRepository = employeeRepository; _messageService = messageService; AddEmployee = new Command(OnAddEmployeeExecute); EditEmployee = new Command(OnEditEmployeeExecute, OnEditEmployeeCanExecute); DeleteEmployee = new Command(OnDeleteEmployeeExecute, OnDeleteEmployeeCanExecute); Employees = new FastObservableCollection <IEmployee>(); if (!ObjectHelper.IsNull(SelectedDepartment)) { Employees.AddRange(EmployeeRepository.GetAllEmployees(SelectedDepartment.Name)); } if (Employees.Count > 0) { SelectedEmployee = Employees[0]; } Mediator.Register <string>(this, OnSelectedDepartmentUpdated, "UpdateEmployees"); }
public void TestAddRangeShouldRaiseCollectionChangedEventOnce() { var timesRaised = 0; _collection.CollectionChanged += (s, e) => timesRaised++; _collection.AddRange(_items); Assert.That(timesRaised, Is.EqualTo(1)); }