You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sae_2a_anglais/Project/adminBlazor/TestUnit/TranslationModel_UT.cs

38 lines
1.3 KiB

using adminBlazor.Models;
using System.ComponentModel.DataAnnotations;
namespace TestUnit
{
public class TranslationModel_UT
{
[Theory]
//correct
[InlineData(true, 0, "firstWord", "secondWord")]
//first word incorrect (required)
[InlineData(false, 1, "", "secondWord")]
//first word incorrect (required)
[InlineData(false, 2, null, "secondWord")]
//second word incorrect (required)
[InlineData(false, 3, "firstWord", "")]
//second word incorrect (required)
[InlineData(false, 4, "firstWord", null)]
public void TranslationModel_Validation(bool isValid, int id, string firstWord, string secondWord)
{
var translationModel = new TranslationModel { Id = id, FirstWord = firstWord, SecondWord = secondWord };
Assert.Equal(isValid, ValidateModel(translationModel));
}
public static bool ValidateModel(TranslationModel translationModel)
{
var validationContext = new ValidationContext(translationModel, serviceProvider: null, items: null);
var validationResults = new List<ValidationResult>();
Validator.TryValidateObject(translationModel, validationContext, validationResults, validateAllProperties: true);
return !validationResults.Any();
}
}
}