public void ThrowsInvalidOperationExceptionIfPropertyDoesNotExcist() { var test = new ObservableObjectTestClass(); _ = Assert.ThrowsException <InvalidOperationException>(() => test.InvokeOnPropertyChanged(string.Empty)); _ = Assert.ThrowsException <InvalidOperationException>(() => test.InvokeOnPropertyChanged(0, 1, string.Empty)); }
public void DoesNotThrowWhenNoPropertyChangingEventRegistered() { var test = new ObservableObjectTestClass(); test.InvokeOnPropertyChanged(nameof(ObservableObjectTestClass.TestField)); test.InvokeOnPropertyChanged(0, 1, nameof(ObservableObjectTestClass.TestField)); }
public void ThrowIfNameIsnull() { var test = new ObservableObjectTestClass(); _ = Assert.ThrowsException <ArgumentNullException>(() => test.InvokeOnPropertyChanged(null)); _ = Assert.ThrowsException <ArgumentNullException>(() => test.InvokeOnPropertyChanged(0, 1, null)); }
public void PropertyChangedEventIsInvoked() { var test = new ObservableObjectTestClass(); var recordedEvents = new List <PropertyChangedEventArgs>(); test.PropertyChanged += (s, e) => { Assert.AreSame(test, s); recordedEvents.Add(e); }; test.InvokeOnPropertyChanged(nameof(ObservableObjectTestClass.TestField)); test.InvokeOnPropertyChanged(0, 1, nameof(ObservableObjectTestClass.TestField)); Assert.AreEqual(2, recordedEvents.Count); Assert.IsInstanceOfType(recordedEvents[1], typeof(PropertyChangedEventArgs <int>)); }