using System.ComponentModel.DataAnnotations; using System.Linq; using Util.Validations; using Xunit; namespace Util.Tests.Validations { /// /// 测试验证结果集合 /// public class ValidationResultCollectionTest { /// /// 验证结果集合 /// private readonly ValidationResultCollection _results; /// /// 测试初始化 /// public ValidationResultCollectionTest() { _results = new ValidationResultCollection(); } /// /// 测试在默认情况下,结果集合个数为0 /// [Fact] public void TestDefault() { Assert.Equal( 0, _results.Count ); Assert.True( _results.IsValid ); } /// /// 测试添加null值,直接忽略 /// [Fact] public void TestAdd_Null() { _results.Add( null ); Assert.Equal( 0, _results.Count ); } /// /// 测试添加验证成功结果,忽略 /// [Fact] public void TestAdd_Success() { _results.Add( ValidationResult.Success ); Assert.Equal( 0, _results.Count ); } /// /// 测试添加1个验证结果 /// [Fact] public void TestAdd_1Result() { _results.Add( new ValidationResult( "a" ) ); Assert.Equal( 1, _results.Count ); Assert.Equal( "a", _results.First().ErrorMessage ); Assert.False( _results.IsValid ); } /// /// 测试添加null验证结果集合,直接忽略 /// [Fact] public void TestAddList_Null() { _results.AddList( null ); Assert.Equal( 0, _results.Count ); } /// /// 测试添加2个验证结果 /// [Fact] public void TestAddList_2Result() { _results.AddList( new[] { new ValidationResult( "a" ), new ValidationResult( "b" ) } ); Assert.Equal( 2, _results.Count ); Assert.Equal( "b", _results.Last().ErrorMessage ); } } }