public void ErrorsChanged_Invoked() { // Arrange var senderList = new List <object>(); var propertyList = new List <string>(); var model = new BaseModelTestImplementation(); model.ErrorsChanged += (sender, args) => { if (sender != null) { senderList.Add(sender); } if (args?.PropertyName != null) { propertyList.Add(args.PropertyName); } }; // Act model.FakeError = true; model.FakeError = false; // Assert Assert.AreEqual(2, senderList.Count); Assert.AreSame(model, senderList[0]); Assert.AreSame(model, senderList[1]); Assert.AreEqual(2, propertyList.Count); Assert.AreEqual(nameof(BaseModelTestImplementation.FakeError), propertyList[0]); Assert.AreEqual(nameof(BaseModelTestImplementation.FakeError), propertyList[1]); }
public void SetValidationErrors_ArgumentNullException_PropertyName() { // Arrange var model = new BaseModelTestImplementation(); // Act & Assert Assert.Throws <ArgumentNullException>(() => model.InvokeSetValidationErrorsWithPropertyNameNull()); }
public void NoValidationErrorsWithoutExplicitValidation() { // Arrange var model = new BaseModelTestImplementation(); // Act var hasErrors = model.HasErrors; // Assert Assert.IsFalse(hasErrors); }
public void HasErrors_CorrectResult(bool fakeError, bool expectedHasErrorsState) { // Arrange var model = new BaseModelTestImplementation { FakeError = fakeError }; // Act var hasErrors = model.HasErrors; // Assert Assert.AreEqual(expectedHasErrorsState, hasErrors); }
public void GetErrors_EmptyListIfNoPropertyNameIsProvided(string propertyName) { // Arrange var model = new BaseModelTestImplementation { FakeError = true }; // Act var errors = model.GetErrors(propertyName); // Assert Assert.IsNotNull(errors); Assert.AreEqual(0, errors.OfType <string>().Count()); }
public void GetErrors_FilledErrorCollection() { // Arrange var model = new BaseModelTestImplementation { FakeError = true }; // Act var errors = model.GetErrors(nameof(BaseModelTestImplementation.FakeError)); // Assert Assert.IsNotNull(errors); var errorArray = errors.OfType <string>().ToArray(); Assert.AreEqual(2, errorArray.Length); Assert.AreEqual("Error1", errorArray[0]); Assert.AreEqual("Error2", errorArray[1]); }
public void PropertyChanged_Invoked() { // Arrange object invokedSender = null; string invokedProperty = null; var model = new BaseModelTestImplementation(); model.PropertyChanged += (sender, args) => { invokedSender = sender; invokedProperty = args?.PropertyName; }; // Act model.FakeError = true; // Assert Assert.IsNotNull(invokedSender); Assert.AreSame(model, invokedSender); Assert.IsNotNull(invokedProperty); Assert.AreEqual(nameof(BaseModelTestImplementation.FakeError), invokedProperty); }