public void Tests_ValidateProperty_int() { // arrange var target = new MockViewModel { Age = MockViewModel.AgeMinimum }; Assert.False(target.HasPropertyError(() => target.Age)); // act target.Age -= 1; // assert Assert.True(target.HasPropertyError(() => target.Age)); ConsoleWriteErrorMessages(target); // reset target.Age = MockViewModel.AgeMaximum; Assert.False(target.HasPropertyError(() => target.Age)); // act target.Age = MockViewModel.AgeMaximum + 1; // assert Assert.True(target.HasPropertyError(() => target.Age)); ConsoleWriteErrorMessages(target); }
public void Tests_ValidateProperty_string() { // arrange var target = new MockViewModel(); // この時点でエラーが発生しないこと。 // 空文字の状態でエラーになると困るので。 // act // assert Assert.False(target.HasPropertyError(() => target.LastName)); // 文字数制限に引っかかること。 // act target.LastName = Enumerable.Repeat('A', MockViewModel.LastNameMaxLength + 1).ToString(); // assert Assert.True(target.HasPropertyError(() => target.LastName)); ConsoleWriteErrorMessages(target); // 一旦エラーをクリアする。 // act // assert target.LastName = "clear"; Assert.False(target.HasPropertyError(() => target.LastName)); // 空文字でエラーが発生すること。 // act target.LastName = string.Empty; // assert Assert.True(target.HasPropertyError(() => target.LastName)); ConsoleWriteErrorMessages(target); }
public void Tests_ValidateProperty_int() { // arrange var target = new MockViewModel {Age = MockViewModel.AgeMinimum}; Assert.False(target.HasPropertyError(() => target.Age)); // act target.Age -= 1; // assert Assert.True(target.HasPropertyError(() => target.Age)); ConsoleWriteErrorMessages(target); // reset target.Age = MockViewModel.AgeMaximum; Assert.False(target.HasPropertyError(() => target.Age)); // act target.Age = MockViewModel.AgeMaximum + 1; // assert Assert.True(target.HasPropertyError(() => target.Age)); ConsoleWriteErrorMessages(target); }
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); }
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); }
public void Tests_ValidateProperty_string() { // arrange var target = new MockViewModel(); // この時点でエラーが発生しないこと。 // 空文字の状態でエラーになると困るので。 // act // assert Assert.False(target.HasPropertyError(() => target.LastName)); // 文字数制限に引っかかること。 // act target.LastName = Enumerable.Repeat('A', MockViewModel.LastNameMaxLength + 1).ToString(); // assert Assert.True(target.HasPropertyError(() => target.LastName)); ConsoleWriteErrorMessages(target); // 一旦エラーをクリアする。 // act // assert target.LastName = "clear"; Assert.False(target.HasPropertyError(() => target.LastName)); // 空文字でエラーが発生すること。 // act target.LastName = string.Empty; // assert Assert.True(target.HasPropertyError(() => target.LastName)); ConsoleWriteErrorMessages(target); }