Example #1
0
        public void 対象プロパティ値が存在しない場合例外()
        {
            // Arrange
            var targetPropertyName = "BeginDateTime";
            var targetValues       = "apple,orange,peach";
            var model     = new RequiredWhenAttributeTestModel();
            var context   = new ValidationContext(model, null, null);
            var attribute = new RequiredWhenAttribute(targetPropertyName, targetValues);

            // Assert
            Assert.Throws <InvalidOperationException>(() =>
            {
                attribute.GetValidationResult("test", context);
            });
        }
Example #2
0
        public void 対象プロパティの値が対象の値と同じで検証対象が存在する場合検証有効()
        {
            // Arrange
            var targetPropertyName = "Target";
            var targetValues       = "apple,orange,peach";
            var model = new RequiredWhenAttributeTestModel()
            {
                Target = "apple",
            };

            var context   = new ValidationContext(model, null, null);
            var attribute = new RequiredWhenAttribute(targetPropertyName, targetValues);

            // Act
            var result = attribute.GetValidationResult("test", context);

            // Assert
            Assert.Equal(ValidationResult.Success, result);
        }
Example #3
0
        public void 対象プロパティの値が対象の値と同じで検証対象がNullの場合検証無効()
        {
            // Arrange
            var targetPropertyName = "Target";
            var targetValues       = "apple,orange,peach";
            var model = new RequiredWhenAttributeTestModel()
            {
                Target = "apple",
            };

            var context   = new ValidationContext(model, null, null);
            var attribute = new RequiredWhenAttribute(targetPropertyName, targetValues, "エラーテキスト");

            // Act
            var result = attribute.GetValidationResult(null, context);

            // Assert
            Assert.Equal("エラーテキスト", result.ErrorMessage);
        }