예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }