/// <summary> /// Check that the Include method works as expected for an /// aggregated filter that contains another aggregated filter /// </summary> public void EvidenceKeyFilterAggregator_Include_Aggregated() { var filter1 = new EvidenceKeyFilterWhitelist(new List <string>() { "key1", "key2" }); var filter2 = new EvidenceKeyFilterWhitelist(new List <string>() { "key3", "key4" }); var aggFilter = new EvidenceKeyFilterAggregator(); aggFilter.AddFilter(filter1); aggFilter.AddFilter(filter2); var filter3 = new EvidenceKeyFilterWhitelist(new List <string>() { "key5", "key6" }); _filter = new EvidenceKeyFilterAggregator(); _filter.AddFilter(aggFilter); _filter.AddFilter(filter3); Assert.IsTrue(_filter.Include("key1")); Assert.IsTrue(_filter.Include("key2")); Assert.IsTrue(_filter.Include("key3")); Assert.IsTrue(_filter.Include("key4")); Assert.IsTrue(_filter.Include("key5")); Assert.IsTrue(_filter.Include("key6")); Assert.IsFalse(_filter.Include("key7")); }
/// <summary> /// Check that aggregated case-sensitive and case-insensitive filters /// still work as expected. /// </summary> public void EvidenceKeyFilterAggregator_CaseSensitivity() { var filter1 = new EvidenceKeyFilterWhitelist(new List <string>() { "key1" }, StringComparer.OrdinalIgnoreCase); var filter2 = new EvidenceKeyFilterWhitelist(new List <string>() { "key2" }, StringComparer.Ordinal); _filter = new EvidenceKeyFilterAggregator(); _filter.AddFilter(filter1); _filter.AddFilter(filter2); Assert.IsTrue(_filter.Include("key1")); Assert.IsTrue(_filter.Include("KEY1")); Assert.IsTrue(_filter.Include("key2")); Assert.IsFalse(_filter.Include("KEY2")); }