/// <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"));
        }