From 62a54d3117f8e79f02e77152f29d7fadf3f470a9 Mon Sep 17 00:00:00 2001 From: rogerformagiolopes Date: Tue, 30 Jun 2026 09:46:31 -0300 Subject: [PATCH 1/3] sec-issues#12764 - Migrar para net10.0 e EF Core 10.0.0 --- src/Secullum.Validation/Secullum.Validation.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Secullum.Validation/Secullum.Validation.csproj b/src/Secullum.Validation/Secullum.Validation.csproj index 628d5c7..6bb8fec 100644 --- a/src/Secullum.Validation/Secullum.Validation.csproj +++ b/src/Secullum.Validation/Secullum.Validation.csproj @@ -3,13 +3,13 @@ Secullum.Validation Secullum.Validation 1.1.0 - netstandard2.0 + net10.0 Secullum.Validation Secullum.Validation git git://github.com/Secullum/Secullum.Validation - + From ead35a6984d0b979d5b048e800a418b52930e7c0 Mon Sep 17 00:00:00 2001 From: rogerformagiolopes Date: Mon, 6 Jul 2026 08:46:22 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Corrigir=20formata=C3=A7=C3=A3o=20(dotnet?= =?UTF-8?q?=20format)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionValidation.cs | 8 ++--- src/Secullum.Validation/Localization.cs | 2 +- src/Secullum.Validation/Validation.cs | 18 +++++------ .../CollectionTests.cs | 16 +++++----- .../HasCustomValidationTests.cs | 6 ++-- .../HasDisplayTextTests.cs | 8 ++--- .../HasMaxLengthTests.cs | 8 ++--- .../IsBetweenTests.cs | 30 +++++++++---------- test/Secullum.Validation.Tests/IsCepTests.cs | 4 +-- test/Secullum.Validation.Tests/IsCnpjTests.cs | 4 +-- test/Secullum.Validation.Tests/IsCpfTests.cs | 8 ++--- .../Secullum.Validation.Tests/IsEmailTests.cs | 8 ++--- test/Secullum.Validation.Tests/IsHourTests.cs | 4 +-- test/Secullum.Validation.Tests/IsPisTests.cs | 5 ++-- .../IsRequiredTests.cs | 18 +++++------ .../IsSmallDateTimeTests.cs | 14 ++++----- .../IsTimespanTests.cs | 4 +-- .../IsUniqueTests.cs | 16 +++++----- .../LocalizationTests.cs | 2 +- .../Secullum.Validation.Tests/MatchesTests.cs | 4 +-- .../PeopleDbContext.cs | 2 +- 21 files changed, 94 insertions(+), 95 deletions(-) diff --git a/src/Secullum.Validation/CollectionValidation.cs b/src/Secullum.Validation/CollectionValidation.cs index db88d09..c56741c 100644 --- a/src/Secullum.Validation/CollectionValidation.cs +++ b/src/Secullum.Validation/CollectionValidation.cs @@ -9,7 +9,7 @@ namespace Secullum.Validation public class CollectionValidation : IValidation> where T : class { private ICollection> validationCollection; - + public CollectionValidation(ICollection targetCollection) : this(targetCollection, null) { } @@ -23,7 +23,7 @@ public CollectionValidation(ICollection targetCollection, DbContext dbContext validationCollection.Add(new Validation(item, dbContext)); } } - + public CollectionValidation HasDisplayText(Expression> expression, string displayText) { foreach (var validation in validationCollection) @@ -140,7 +140,7 @@ public CollectionValidation IsRequired(Expression> expression) { validation.IsRequired(expression); } - + return this; } @@ -193,7 +193,7 @@ public CollectionValidation HasMaxLength(Expression> expressi return this; } - + public CollectionValidation IsEmail(Expression> expression) { foreach (var validation in validationCollection) diff --git a/src/Secullum.Validation/Localization.cs b/src/Secullum.Validation/Localization.cs index d18d30d..3446dbb 100644 --- a/src/Secullum.Validation/Localization.cs +++ b/src/Secullum.Validation/Localization.cs @@ -35,7 +35,7 @@ static Localization() englishDictionary.Add(StringTypes.HasMaxLengthMessage, "The field {0} must have at most {1} characters."); portugueseDictionary.Add(StringTypes.HasMaxLengthMessage, "O campo {0} deve possuir no máximo {1} caracteres."); spanishDictionary.Add(StringTypes.HasMaxLengthMessage, "El campo {0} debe poseer máximo {1} caracteres."); - + englishDictionary.Add(StringTypes.IsEmailMessage, "{0} invalid."); portugueseDictionary.Add(StringTypes.IsEmailMessage, "{0} inválido."); spanishDictionary.Add(StringTypes.IsEmailMessage, "{0} no válido."); diff --git a/src/Secullum.Validation/Validation.cs b/src/Secullum.Validation/Validation.cs index 4a23635..3438de6 100644 --- a/src/Secullum.Validation/Validation.cs +++ b/src/Secullum.Validation/Validation.cs @@ -83,7 +83,7 @@ private Validation HasDisplayText(LambdaExpression expression, string display return this; } - + public Validation IsRequired(Expression> expression) { ThrowIfNotMemberAccessExpression(expression.Body); @@ -192,12 +192,12 @@ public Validation HasMaxLength(Expression> expression, int ma } var value = expression.Compile()(target); - + if (value != null && value.Length > maxLength) { AddError((MemberExpression)expression.Body, GetString(HasMaxLengthMessage), maxLength); } - + return this; } @@ -207,7 +207,7 @@ public Validation IsEmail(Expression> expression) var value = expression.Compile()(target); var regex = new Regex(@"^[a-zA-Z0-9_\.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+$"); - + if (!string.IsNullOrEmpty(value) && !regex.IsMatch(value)) { AddError((MemberExpression)expression.Body, GetString(IsEmailMessage)); @@ -267,7 +267,7 @@ private Validation IsUnique(LambdaExpression expression, object propValue) var idProp = typeof(T).GetTypeInfo().GetDeclaredProperty("Id"); var idValue = idProp.GetValue(target); - + // x.Name == "fernando" var equalExpression = Expression.Equal( expression.Body, @@ -292,7 +292,7 @@ private Validation IsUnique(LambdaExpression expression, object propValue) { AddError((MemberExpression)expression.Body, GetString(IsUniqueMessage)); } - + return this; } @@ -306,7 +306,7 @@ public Validation IsCpf(Expression> expression) { AddError((MemberExpression)expression.Body, GetString(IsCpfMessage)); } - + return this; } @@ -485,10 +485,10 @@ private void AddError(MemberExpression expression, string message, params object var formatArgsList = new List(); displayTextDictionary.TryGetValue(expression.Member, out propertyDisplayText); - + formatArgsList.Add(propertyDisplayText ?? propertyName); formatArgsList.AddRange(formatArgs); - + errorList.Add(new ValidationError(propertyName, string.Format(message, formatArgsList.ToArray()))); } diff --git a/test/Secullum.Validation.Tests/CollectionTests.cs b/test/Secullum.Validation.Tests/CollectionTests.cs index d093318..bd75727 100644 --- a/test/Secullum.Validation.Tests/CollectionTests.cs +++ b/test/Secullum.Validation.Tests/CollectionTests.cs @@ -24,7 +24,7 @@ public void IsRequired_GivenValidField_DontReturnErrors() foreach (var lista in errors) { - Assert.Equal(0, lista.Count); + Assert.Empty(lista); } } @@ -37,14 +37,14 @@ public void IsRequired_GivenEmptyField_ReturnError(string name) var people = new List(); people.Add(new Person { Name = name }); - + var errors = new CollectionValidation(people) .IsRequired(x => x.Name) .ToList(); foreach (var lista in errors) { - Assert.Equal(1, lista.Count); + Assert.Single(lista); Assert.Equal("Name", lista[0].Property); } } @@ -66,7 +66,7 @@ public void HasMaxLength_GivenValidField_DontReturnErrors(string name, int maxLe foreach (var lista in errors) { - Assert.Equal(0, lista.Count); + Assert.Empty(lista); } } @@ -76,12 +76,12 @@ public void HasMaxLength_GivenInvalidField_ReturnError() var people = new List(); people.Add(new Person { Name = "Fernando" }); - + var errors = new CollectionValidation(people) .HasMaxLength(x => x.Name, 5) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Name", errors[0][0].Property); } @@ -96,7 +96,7 @@ public void HasCustomValidation_GivenFalseCondition_ReturnErrors() .HasCustomValidation(x => false, "Email", "Preencha o campo Email corretamente") .ToList(); - Assert.Equal(1, errors[0].Count); + Assert.Single(errors[0]); Assert.Equal("Preencha o campo Email corretamente", errors[0][0].Message); } @@ -115,7 +115,7 @@ public void IsSmallDateTime_GivenValidField_DontReturnErrors(int year, int month .IsSmallDateTime(x => x.Birth) .ToList(); - Assert.Equal(0, errors[0].Count); + Assert.Empty(errors[0]); } } diff --git a/test/Secullum.Validation.Tests/HasCustomValidationTests.cs b/test/Secullum.Validation.Tests/HasCustomValidationTests.cs index fdd996c..83f4b5a 100644 --- a/test/Secullum.Validation.Tests/HasCustomValidationTests.cs +++ b/test/Secullum.Validation.Tests/HasCustomValidationTests.cs @@ -31,7 +31,7 @@ public void HasCustomValidation_GivenSimpleFalseCondition_ReturnErrors() Assert.Equal("Preencha o campo Email corretamente", errors[0].Message); } - + [Fact] public void HasCustomValidation_GivenTrueCondition_DontReturnErrors() { @@ -41,7 +41,7 @@ public void HasCustomValidation_GivenTrueCondition_DontReturnErrors() .HasCustomValidation(x => true, "Email", "Preencha o campo Email corretamente") .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -53,7 +53,7 @@ public void HasCustomValidation_GivenFalseCondition_ReturnErrors() .HasCustomValidation(x => !((x.Email == "unknown@domain.net" || x.Id == 1) && x.Age > 0), "Email", "Preencha o campo Email corretamente") .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Preencha o campo Email corretamente", errors[0].Message); } } diff --git a/test/Secullum.Validation.Tests/HasDisplayTextTests.cs b/test/Secullum.Validation.Tests/HasDisplayTextTests.cs index 0e49a52..e50bbc8 100644 --- a/test/Secullum.Validation.Tests/HasDisplayTextTests.cs +++ b/test/Secullum.Validation.Tests/HasDisplayTextTests.cs @@ -58,7 +58,7 @@ public void HasDisplayText_GivenDisplayTextNullableIntValue_UsesIt() { SetCurrentThreadCulture(new CultureInfo("pt-BR")); - var person = new Person() { Zipcode = 42 } ; + var person = new Person() { Zipcode = 42 }; var errors = new Validation(person) .HasDisplayText(x => x.Zipcode, "Zipcode") @@ -74,7 +74,7 @@ public void HasDisplayText_GivenDisplayTextFloatValue_UsesIt() { SetCurrentThreadCulture(new CultureInfo("pt-BR")); - var person = new Person() ; + var person = new Person(); var errors = new Validation(person) .HasDisplayText(x => x.Height, "Height") @@ -84,13 +84,13 @@ public void HasDisplayText_GivenDisplayTextFloatValue_UsesIt() Assert.Equal("Height", errors[0].Property); Assert.Equal($"O campo Height deve ser preenchido com valores entre 100,01 e 250,02.", errors[0].Message); } - + [Fact] public void HasDisplayText_GivenDisplayTextNullableFloatValue_UsesIt() { SetCurrentThreadCulture(new CultureInfo("pt-BR")); - var person = new Person() {Weight = 5}; + var person = new Person() { Weight = 5 }; var errors = new Validation(person) .HasDisplayText(x => x.Weight, "Weight") diff --git a/test/Secullum.Validation.Tests/HasMaxLengthTests.cs b/test/Secullum.Validation.Tests/HasMaxLengthTests.cs index eefacfb..f30284f 100644 --- a/test/Secullum.Validation.Tests/HasMaxLengthTests.cs +++ b/test/Secullum.Validation.Tests/HasMaxLengthTests.cs @@ -18,7 +18,7 @@ public void HasMaxLength_GivenValidField_DontReturnErrors(string name, int maxLe .HasMaxLength(x => x.Name, maxLength) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -30,10 +30,10 @@ public void HasMaxLength_GivenInvalidField_ReturnError() .HasMaxLength(x => x.Name, 5) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Name", errors[0].Property); } - + [Fact] public void HasMaxLength_GivenInvalidExpression_ThrowsException() { @@ -46,7 +46,7 @@ public void HasMaxLength_GivenInvalidExpression_ThrowsException() .ToList(); }); } - + [Theory] [InlineData(0)] [InlineData(-1)] diff --git a/test/Secullum.Validation.Tests/IsBetweenTests.cs b/test/Secullum.Validation.Tests/IsBetweenTests.cs index f2aba94..0eba50c 100644 --- a/test/Secullum.Validation.Tests/IsBetweenTests.cs +++ b/test/Secullum.Validation.Tests/IsBetweenTests.cs @@ -35,7 +35,7 @@ public void IsBetween_GivenValidIntValue_DontReturnErrors(int age) .IsBetween(x => x.Age, 18, 60) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -54,7 +54,7 @@ public void IsBetween_GivenOutOfRangeIntValue_ReturnErrors(int age) .IsBetween(x => x.Age, 18, 60) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Age", errors[0].Property); Assert.Equal("O campo Age deve ser preenchido com valores entre 18 e 60.", errors[0].Message); } @@ -67,13 +67,13 @@ public void IsBetween_GivenOutOfRangeIntValue_ReturnErrors(int age) [InlineData(250.00)] public void IsBetween_GivenValidFloatValue_DontReturnErrors(int height) { - var person = new Person() { Id = 2, Height = height}; + var person = new Person() { Id = 2, Height = height }; var errors = new Validation(person, context) .IsBetween(x => x.Height, 100, 250) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -87,13 +87,13 @@ public void IsBetween_GivenOutOfRangeFloatValue_ReturnErrors(int height) { SetCurrentThreadCulture(new CultureInfo("pt-BR")); - var person = new Person() { Id = 2, Height = height}; + var person = new Person() { Id = 2, Height = height }; var errors = new Validation(person, context) .IsBetween(x => x.Height, (float)100.01, (float)250.02) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Height", errors[0].Property); Assert.Equal("O campo Height deve ser preenchido com valores entre 100,01 e 250,02.", errors[0].Message); } @@ -112,7 +112,7 @@ public void IsBetween_GivenValidNullableIntValue_DontReturnErrors(int zipcode) .IsBetween(x => x.Age, 10000, 99999) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -132,7 +132,7 @@ public void IsBetween_GivenOutOfRangeNullableIntValue_ReturnErrors(int zipcode) .IsBetween(x => x.Zipcode, 10000, 99999) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Zipcode", errors[0].Property); Assert.Equal("O campo Zipcode deve ser preenchido com valores entre 10000 e 99999.", errors[0].Message); } @@ -151,7 +151,7 @@ public void IsBetween_GivenValidNullableFloatValue_DontReturnErrors(int weight) .IsBetween(x => x.Weight, 100, 250) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -165,13 +165,13 @@ public void IsBetween_GivenOutOfRangeNullableFloatValue_ReturnErrors(int weight) { SetCurrentThreadCulture(new CultureInfo("pt-BR")); - var person = new Person() { Id = 2, Weight = weight }; + var person = new Person() { Id = 2, Weight = weight }; var errors = new Validation(person, context) .IsBetween(x => x.Weight, (float)100.01, (float)250.02) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Weight", errors[0].Property); Assert.Equal("O campo Weight deve ser preenchido com valores entre 100,01 e 250,02.", errors[0].Message); } @@ -179,13 +179,13 @@ public void IsBetween_GivenOutOfRangeNullableFloatValue_ReturnErrors(int weight) [Fact] public void IsBetween_GivenNullableIntValue_DontReturnErrors() { - var person = new Person() { Id = 2}; + var person = new Person() { Id = 2 }; var errors = new Validation(person, context) .IsBetween(x => x.Zipcode, 18, 60) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -194,10 +194,10 @@ public void IsBetween_GivenNullableFloatValue_DontReturnErrors() var person = new Person() { Id = 2 }; var errors = new Validation(person, context) - .IsBetween(x => x.Weight , 18, 60) + .IsBetween(x => x.Weight, 18, 60) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } } } diff --git a/test/Secullum.Validation.Tests/IsCepTests.cs b/test/Secullum.Validation.Tests/IsCepTests.cs index 6e9dfe5..28bcca2 100644 --- a/test/Secullum.Validation.Tests/IsCepTests.cs +++ b/test/Secullum.Validation.Tests/IsCepTests.cs @@ -18,7 +18,7 @@ public void IsCep_GivenValidField_DontReturnErrors(string cep) .IsCep(x => x.Cep) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -35,7 +35,7 @@ public void IsCep_GivenInvalidField_ReturnError(string cep) .IsCep(x => x.Cep) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Cep", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/IsCnpjTests.cs b/test/Secullum.Validation.Tests/IsCnpjTests.cs index 75feee8..9e4971a 100644 --- a/test/Secullum.Validation.Tests/IsCnpjTests.cs +++ b/test/Secullum.Validation.Tests/IsCnpjTests.cs @@ -20,7 +20,7 @@ public void IsCnpj_GivenValidField_DontReturnErrors(string cnpj) .IsCnpj(x => x.Cnpj) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -43,7 +43,7 @@ public void IsCnpj_GivenInvalidField_ReturnError(string cnpj) .IsCnpj(x => x.Cnpj) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Cnpj", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/IsCpfTests.cs b/test/Secullum.Validation.Tests/IsCpfTests.cs index c6741e5..21e4e83 100644 --- a/test/Secullum.Validation.Tests/IsCpfTests.cs +++ b/test/Secullum.Validation.Tests/IsCpfTests.cs @@ -18,7 +18,7 @@ public void IsCpf_GivenValidField_DontReturnErrors(string cpf) .IsCpf(x => x.Cpf) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -39,15 +39,15 @@ public void IsCpf_GivenInvalidField_ReturnError(string cpf) .IsCpf(x => x.Cpf) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Cpf", errors[0].Property); } - + [Fact] public void IsCpf_GivenInvalidExpression_ThrowsException() { var person = new Person(); - + Assert.Throws("expression", () => { var erros = new Validation(person) diff --git a/test/Secullum.Validation.Tests/IsEmailTests.cs b/test/Secullum.Validation.Tests/IsEmailTests.cs index ef5dfeb..12670e6 100644 --- a/test/Secullum.Validation.Tests/IsEmailTests.cs +++ b/test/Secullum.Validation.Tests/IsEmailTests.cs @@ -18,7 +18,7 @@ public void IsEmail_GivenValidField_DontReturnErrors(string email) .IsEmail(x => x.Email) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -34,15 +34,15 @@ public void IsEmail_GivenInvalidField_ReturnError(string email) .IsEmail(x => x.Email) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Email", errors[0].Property); } - + [Fact] public void IsEmail_GivenInvalidExpression_ThrowsException() { var person = new Person(); - + Assert.Throws("expression", () => { var erros = new Validation(person) diff --git a/test/Secullum.Validation.Tests/IsHourTests.cs b/test/Secullum.Validation.Tests/IsHourTests.cs index 275ab0f..ece97eb 100644 --- a/test/Secullum.Validation.Tests/IsHourTests.cs +++ b/test/Secullum.Validation.Tests/IsHourTests.cs @@ -18,7 +18,7 @@ public void IsHour_GivenValidField_DontReturnErrors(string hour) .IsHour(x => x.Hour) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -36,7 +36,7 @@ public void IsHour_GivenInvalidField_ReturnError(string hour) .IsHour(x => x.Hour) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Hour", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/IsPisTests.cs b/test/Secullum.Validation.Tests/IsPisTests.cs index 8159cdc..7d12f3e 100644 --- a/test/Secullum.Validation.Tests/IsPisTests.cs +++ b/test/Secullum.Validation.Tests/IsPisTests.cs @@ -18,7 +18,7 @@ public void IsPis_GivenValidField_DontReturnErrors(string pis) .IsPis(x => x.Pis) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -32,7 +32,6 @@ public void IsPis_GivenValidField_DontReturnErrors(string pis) [InlineData(" ")] [InlineData("²³££³²¢!@#!@##")] [InlineData("¬¬¬¬¬¬¬¬¬¬¬")] - [InlineData("99999999999")] public void IsPis_GivenInvalidField_ReturnError(string pis) { var person = new Person() { Pis = pis }; @@ -41,7 +40,7 @@ public void IsPis_GivenInvalidField_ReturnError(string pis) .IsPis(x => x.Pis) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Pis", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/IsRequiredTests.cs b/test/Secullum.Validation.Tests/IsRequiredTests.cs index a84ee35..e819d17 100644 --- a/test/Secullum.Validation.Tests/IsRequiredTests.cs +++ b/test/Secullum.Validation.Tests/IsRequiredTests.cs @@ -14,7 +14,7 @@ public void IsRequired_GivenValidString_DontReturnErrors() .IsRequired(x => x.Name) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -29,7 +29,7 @@ public void IsRequired_GivenEmptyString_ReturnError(string name) .IsRequired(x => x.Name) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Name", errors[0].Property); } @@ -42,7 +42,7 @@ public void IsRequired_GivenValidInt_DontReturnErrors() .IsRequired(x => x.Age) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -54,7 +54,7 @@ public void IsRequired_GivenEmptyInt_ReturnError() .IsRequired(x => x.Age) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Age", errors[0].Property); } @@ -67,7 +67,7 @@ public void IsRequired_GivenValidDateTime_DontReturnErrors() .IsRequired(x => x.Birth) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -79,7 +79,7 @@ public void IsRequired_GivenEmptyDateTime_ReturnError() .IsRequired(x => x.Birth) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Birth", errors[0].Property); } @@ -92,7 +92,7 @@ public void IsRequired_GivenNullDateTime_ReturnError() .IsRequired(x => x.Death) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Death", errors[0].Property); } @@ -100,7 +100,7 @@ public void IsRequired_GivenNullDateTime_ReturnError() public void IsRequired_GivenInvalidExpression_ThrowsException() { var person = new Person(); - + Assert.Throws("expression", () => { var erros = new Validation(person) @@ -118,7 +118,7 @@ public void IsRequired_GivenNullInt_ReturnError() .IsRequired(x => x.Zipcode) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Zipcode", errors[0].Property); } } diff --git a/test/Secullum.Validation.Tests/IsSmallDateTimeTests.cs b/test/Secullum.Validation.Tests/IsSmallDateTimeTests.cs index 9ecbac1..88403b1 100644 --- a/test/Secullum.Validation.Tests/IsSmallDateTimeTests.cs +++ b/test/Secullum.Validation.Tests/IsSmallDateTimeTests.cs @@ -18,7 +18,7 @@ public void HasSmallDateTime_GivenValidField_DontReturnErrors(int year, int mont .IsSmallDateTime(x => x.Birth) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -35,7 +35,7 @@ public void HasSmallDateTime_GivenInvalidField_ReturnError(int year, int month, .IsSmallDateTime(x => x.Birth) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Birth", errors[0].Property); } @@ -52,7 +52,7 @@ public void HasSmallDateTime_GivenValidNullableField_DontReturnErrors(int year, .IsSmallDateTime(x => x.Death) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -69,7 +69,7 @@ public void HasSmallDateTime_GivenInvalidNullableField_ReturnError(int year, int .IsSmallDateTime(x => x.Death) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Death", errors[0].Property); } @@ -79,10 +79,10 @@ public void HasSmallDateTime_GivenNullField_ReturnError() var person = new Person(); var errors = new Validation(person) - .IsSmallDateTime(x => x.Birth ) + .IsSmallDateTime(x => x.Birth) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Birth", errors[0].Property); } @@ -95,7 +95,7 @@ public void HasSmallDateTime_GivenDateNullableValue_DontReturnError() .IsSmallDateTime(x => x.Death) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } } } diff --git a/test/Secullum.Validation.Tests/IsTimespanTests.cs b/test/Secullum.Validation.Tests/IsTimespanTests.cs index 3a53f1e..63904a3 100644 --- a/test/Secullum.Validation.Tests/IsTimespanTests.cs +++ b/test/Secullum.Validation.Tests/IsTimespanTests.cs @@ -21,7 +21,7 @@ public void IsTimespan_GivenValidField_DontReturnErrors(string timespan) .IsTimespan(x => x.Hour) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -37,7 +37,7 @@ public void IsTimespan_GivenInvalidField_ReturnError(string timespan) .IsTimespan(x => x.Hour) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Hour", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/IsUniqueTests.cs b/test/Secullum.Validation.Tests/IsUniqueTests.cs index 1c6df7a..f4b59c9 100644 --- a/test/Secullum.Validation.Tests/IsUniqueTests.cs +++ b/test/Secullum.Validation.Tests/IsUniqueTests.cs @@ -26,7 +26,7 @@ public void IsUnique_GivenNewNameAndNewId_DontReturnErrors() .IsUnique(x => x.Name) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -38,7 +38,7 @@ public void IsUnique_GivenSameNameAndSameId_DontReturnErrors() .IsUnique(x => x.Name) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -50,7 +50,7 @@ public void IsUnique_GivenNewNameAndSameId_DontReturnErrors() .IsUnique(x => x.Name) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -62,7 +62,7 @@ public void IsUnique_GivenNewAgeAndSameId_DontReturnErrors() .IsUnique(x => x.Age) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -74,7 +74,7 @@ public void IsUnique_GivenEmptyAgeField_DontReturnErrors() .IsUnique(x => x.Age) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -86,7 +86,7 @@ public void IsUnique_GivenEmptyEmailField_DontReturnErrors() .IsUnique(x => x.Email) .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Fact] @@ -98,10 +98,10 @@ public void IsUnique_GivenSameNameAndNewId_ReturnError() .IsUnique(x => x.Name) .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Name", errors[0].Property); } - + [Fact] public void IsUnique_GivenInvalidExpression_ThrowsException() { diff --git a/test/Secullum.Validation.Tests/LocalizationTests.cs b/test/Secullum.Validation.Tests/LocalizationTests.cs index 6208291..460b823 100644 --- a/test/Secullum.Validation.Tests/LocalizationTests.cs +++ b/test/Secullum.Validation.Tests/LocalizationTests.cs @@ -37,7 +37,7 @@ public void Localization_GivenPortugueseCulture_ReturnsPortugueseErrorMessage() public void Localization_GivenSpanishCulture_ReturnsSpanishErrorMessage() { SetCurrentThreadCulture(new CultureInfo("es-ES")); - + var person = new Person(); var errors = new Validation(person) diff --git a/test/Secullum.Validation.Tests/MatchesTests.cs b/test/Secullum.Validation.Tests/MatchesTests.cs index 09bf266..dda0454 100644 --- a/test/Secullum.Validation.Tests/MatchesTests.cs +++ b/test/Secullum.Validation.Tests/MatchesTests.cs @@ -18,7 +18,7 @@ public void Matches_GivenValidString_DontReturnErrors(string pis) .Matches(x => x.Pis, @"^\d+$", "Error {0}") .ToList(); - Assert.Equal(0, errors.Count); + Assert.Empty(errors); } [Theory] @@ -32,7 +32,7 @@ public void Matches_GivenInvalidString_ReturnError(string pis) .Matches(x => x.Pis, @"^\d+$", "Error {0}") .ToList(); - Assert.Equal(1, errors.Count); + Assert.Single(errors); Assert.Equal("Pis", errors[0].Property); } diff --git a/test/Secullum.Validation.Tests/PeopleDbContext.cs b/test/Secullum.Validation.Tests/PeopleDbContext.cs index 9bec6ab..3d9b76e 100644 --- a/test/Secullum.Validation.Tests/PeopleDbContext.cs +++ b/test/Secullum.Validation.Tests/PeopleDbContext.cs @@ -15,7 +15,7 @@ public PeopleDbContext() } public DbSet People { get; set; } - + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseInMemoryDatabase("TestDb"); From 3d1b345712a32a54d24a3fed3db630584e0da50d Mon Sep 17 00:00:00 2001 From: rogerformagiolopes Date: Fri, 17 Jul 2026 08:48:12 -0300 Subject: [PATCH 3/3] =?UTF-8?q?sec-issues#12764=20-=20Alinhar=20EF=20Core?= =?UTF-8?q?=2010.0.1=20e=20publicar=20vers=C3=A3o=20do=20case=20como=20pac?= =?UTF-8?q?ote=20nuget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Microsoft.EntityFrameworkCore 10.0.0 -> 10.0.1, para bater com a versão pinada no pontoweb - Versão do pacote: 1.1.12764.1 --- src/Secullum.Validation/Secullum.Validation.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Secullum.Validation/Secullum.Validation.csproj b/src/Secullum.Validation/Secullum.Validation.csproj index 6bb8fec..9e2956f 100644 --- a/src/Secullum.Validation/Secullum.Validation.csproj +++ b/src/Secullum.Validation/Secullum.Validation.csproj @@ -2,7 +2,7 @@ Secullum.Validation Secullum.Validation - 1.1.0 + 1.1.12764.1 net10.0 Secullum.Validation Secullum.Validation @@ -10,6 +10,6 @@ git://github.com/Secullum/Secullum.Validation - +