コード例 #1
0
        public void Cannot_overwrite_filters()
        {
            FilterStore store = new FilterStore();

            BlockFilter externalFilter = new BlockFilter(100, 1);

            store.SaveFilter(externalFilter);
            Assert.Throws <InvalidOperationException>(() => store.SaveFilter(externalFilter));
        }
コード例 #2
0
        public void Ids_are_incremented_when_storing_externally_created_filter()
        {
            FilterStore store = new FilterStore();

            BlockFilter externalFilter = new BlockFilter(100, 1);

            store.SaveFilter(externalFilter);
            LogFilter filter = store.CreateLogFilter(new FilterBlock(1), new FilterBlock(2));

            store.SaveFilter(filter);

            Assert.True(store.FilterExists(100), "exists 100");
            Assert.True(store.FilterExists(101), "exists 101");
            Assert.AreEqual(FilterType.LogFilter, store.GetFilterType(filter.Id), "type");
        }
コード例 #3
0
        public void Can_get_filters_by_type()
        {
            FilterStore store   = new FilterStore();
            BlockFilter filter1 = store.CreateBlockFilter(1);

            store.SaveFilter(filter1);
            LogFilter filter2 = store.CreateLogFilter(new FilterBlock(1), new FilterBlock(2));

            store.SaveFilter(filter2);

            LogFilter[]   logFilters   = store.GetFilters <LogFilter>();
            BlockFilter[] blockFilters = store.GetFilters <BlockFilter>();

            Assert.AreEqual(1, logFilters.Length, "log filters length");
            Assert.AreEqual(1, logFilters[0].Id, "log filters ids");
            Assert.AreEqual(1, blockFilters.Length, "block Filters length");
            Assert.AreEqual(0, blockFilters[0].Id, "block filters ids");
        }
コード例 #4
0
        public void Can_save_and_load_log_filter()
        {
            FilterStore store  = new FilterStore();
            LogFilter   filter = store.CreateLogFilter(new FilterBlock(1), new FilterBlock(2));

            store.SaveFilter(filter);
            Assert.True(store.FilterExists(0), "exists");
            Assert.AreEqual(FilterType.LogFilter, store.GetFilterType(filter.Id), "type");
        }
コード例 #5
0
        public void Can_save_and_load_block_filter()
        {
            FilterStore store  = new FilterStore();
            BlockFilter filter = store.CreateBlockFilter(1);

            store.SaveFilter(filter);
            Assert.True(store.FilterExists(0), "exists");
            Assert.AreEqual(FilterType.BlockFilter, store.GetFilterType(filter.Id), "type");
        }
コード例 #6
0
        public void Remove_filter_removes_and_notifies()
        {
            FilterStore store  = new FilterStore();
            BlockFilter filter = store.CreateBlockFilter(1);

            store.SaveFilter(filter);
            bool hasNotified = false;

            store.FilterRemoved += (s, e) => hasNotified = true;
            store.RemoveFilter(0);

            Assert.True(hasNotified, "notied");
            Assert.False(store.FilterExists(0), "exists");
        }