public ReleaseProfileData?FilterProfile(ReleaseProfileData selectedProfile, SonarrProfileFilterConfig profileFilter) { if (profileFilter.Include.Any()) { _log.Debug("Using inclusion filter"); return(new ReleaseProfileData { TrashId = selectedProfile.TrashId, Name = selectedProfile.Name, IncludePreferredWhenRenaming = selectedProfile.IncludePreferredWhenRenaming, Required = IncludeTerms(selectedProfile.Required, profileFilter.Include), Ignored = IncludeTerms(selectedProfile.Ignored, profileFilter.Include), Preferred = IncludeTerms(selectedProfile.Preferred, profileFilter.Include) }); } if (profileFilter.Exclude.Any()) { _log.Debug("Using exclusion filter"); return(new ReleaseProfileData { TrashId = selectedProfile.TrashId, Name = selectedProfile.Name, IncludePreferredWhenRenaming = selectedProfile.IncludePreferredWhenRenaming, Required = ExcludeTerms(selectedProfile.Required, profileFilter.Exclude), Ignored = ExcludeTerms(selectedProfile.Ignored, profileFilter.Exclude), Preferred = ExcludeTerms(selectedProfile.Preferred, profileFilter.Exclude) }); } _log.Debug("Filter property present but is empty"); return(null); }
public void Empty_term_collections_not_allowed() { var validator = new ReleaseProfileDataValidator(); var data = new ReleaseProfileData(); validator.Validate(data).IsValid.Should().BeFalse(); }
public void Allow_single_ignored_term() { var validator = new ReleaseProfileDataValidator(); var data = new ReleaseProfileData { TrashId = "trash_id", Name = "name", Required = Array.Empty <TermData>(), Ignored = new[] { new TermData { Term = "term" } }, Preferred = Array.Empty <PreferredTermData>() }; var result = validator.TestValidate(data); result.ShouldNotHaveAnyValidationErrors(); }
public static void PrintTermsAndScores(ReleaseProfileData profile) {