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.
38 lines
1.3 KiB
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();
|
|
}
|
|
}
|
|
}
|