public void GetAllTerms_NullSearchQuery_ShouldReturnEmptyList() { // Arrange var processor = new SearchOptionsProcessor <Recipe>(null); // Act var terms = processor.GetAllTerms(); // Assert Assert.Empty(terms); }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var processor = new SearchOptionsProcessor <T, TEntity>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms().Select(x => x.Name).Except(validTerms, StringComparer.CurrentCultureIgnoreCase); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term '{term}'.", new[] { nameof(Search) })); } }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var processor = new SearchOptionsProcessor <T, TEntity>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms() .Where(x => !validTerms.Any(v => v.Equals(x.Name, StringComparison.OrdinalIgnoreCase))) .Select(x => x.Name); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term {term}", new[] { nameof(Search) })); } }
private IEnumerable <ValidationResult> ValidateSearchOptions() { if (Search == null) { yield break; } var processor = new SearchOptionsProcessor <T>(Search); var validTerms = processor.GetValidTerms().Select(x => x.Name); var invalidTerms = processor.GetAllTerms().Select(x => x.Name) .Except(validTerms, StringComparer.OrdinalIgnoreCase); foreach (var term in invalidTerms) { yield return(new ValidationResult($"Invalid search term '{term}'", new[] { nameof(Search) })); } }
public void GetAllTerms_NoSpaces_ShouldAssignToNames() { // Arrange var elements = new[] { "abc", "def", "G_hi_jkl", "m_desc" }; var processor = new SearchOptionsProcessor <Recipe>(elements); // Act var terms = processor.GetAllTerms().ToArray(); // Assert Assert.Equal(elements.Length, terms.Length); foreach (var(element, term) in elements.Zip(terms, Tuple.Create)) { Assert.Equal(element, term.Name); Assert.True(string.IsNullOrEmpty(term.Operator)); Assert.True(string.IsNullOrEmpty(term.Value)); Assert.False(term.ValidSyntax, "Syntax is actually valid"); } }