public void Tests_Validate_SubViewModel() { // arrange var target = new MockViewModel { FirstName = "Test", LastName = "Mock", DayOfWeek = DayOfWeek.Saturday, }; // この時点ではエラーはない。 Assert.False(target.HasErrors); target.SubViewModel.Number = MockSubViewModel.NumberMinimum - 1; // act target.Validate(); // assert // 子ViewModelのエラー結果を検証する。 Assert.True(target.SubViewModel.HasErrors); // 親ViewModelが子ViewModelのエラー結果を保持する。 Assert.True(target.HasErrors); ConsoleWriteErrorMessages(target.SubViewModel); ConsoleWriteErrorMessages(target); }
public void CheckValidationFailsWhenPropertiesAreEmptyTest() { var mockViewModel = new MockViewModel(); bool isValid = mockViewModel.Validate(); Assert.False(isValid); Assert.Null(mockViewModel.Forename.Value); Assert.Null(mockViewModel.Surname.Value); Assert.False(mockViewModel.Forename.IsValid); Assert.False(mockViewModel.Surname.IsValid); Assert.NotEmpty(mockViewModel.Forename.Errors); Assert.NotEmpty(mockViewModel.Surname.Errors); }
public void CheckValidationPassesWhenOnlySurnameHasDataTest() { var mockViewModel = new MockViewModel(); mockViewModel.Surname.Value = "Matos"; bool isValid = mockViewModel.Validate(); Assert.False(isValid); Assert.Null(mockViewModel.Forename.Value); Assert.NotNull(mockViewModel.Surname.Value); Assert.False(mockViewModel.Forename.IsValid); Assert.True(mockViewModel.Surname.IsValid); Assert.NotEmpty(mockViewModel.Forename.Errors); Assert.Empty(mockViewModel.Surname.Errors); }
public void CheckValidationPassesWhenBothPropertiesHaveDataTest() { var mockViewModel = new MockViewModel(); mockViewModel.Forename.Value = "Weverly"; mockViewModel.Surname.Value = "Matos"; bool isValid = mockViewModel.Validate(); Assert.True(isValid); Assert.NotNull(mockViewModel.Forename.Value); Assert.NotNull(mockViewModel.Surname.Value); Assert.True(mockViewModel.Forename.IsValid); Assert.True(mockViewModel.Surname.IsValid); Assert.Empty(mockViewModel.Forename.Errors); Assert.Empty(mockViewModel.Surname.Errors); }
public void Tests_NotificationError() { // arrange var target = new MockViewModel { FirstName = "John", LastName = "Smith" }; // act target.DayOfWeek = DayOfWeek.Monday; // この時点ではエラーでないこと。 Assert.False(target.HasErrors); // ここで検証してエラーが通知されること。 target.Validate(); // assert Assert.True(target.HasPropertyError(() => target.DayOfWeek)); ConsoleWriteErrorMessages(target); }