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(); Validator.TryValidateObject(translationModel, validationContext, validationResults, validateAllProperties: true); return !validationResults.Any(); } } }