using System.Linq;
using Util.Validation.Tests.Samples;
using Xunit;
namespace Util.Validation.Tests;
///
/// 数据注解验证操作测试
///
public class DataAnnotationValidationTest {
///
/// 验证样例
///
private readonly Sample _sample;
///
/// 测试初始化
///
public DataAnnotationValidationTest() {
_sample = new Sample();
}
///
/// 测试验证必填
///
[Fact]
public void TestValidate_Required() {
var result = DataAnnotationValidation.Validate( _sample );
Assert.False( result.IsValid );
Assert.Single( result );
Assert.Equal( "Required", result.First().ErrorMessage );
}
///
/// 测试验证字符串长度
///
[Fact]
public void TestValidate_StringLength() {
_sample.StringLengthValue = "abcd";
var result = DataAnnotationValidation.Validate( _sample );
Assert.False( result.IsValid );
Assert.Equal( 2,result.Count );
Assert.Equal( "Required", result[0].ErrorMessage );
Assert.Equal( "StringLength", result[1].ErrorMessage );
}
}