public void NeedsFilterCheck_only_returns_ids_not_already_cached()
        {
            var cache = new FilterCache();

            cache.NeedsFilterCheck(new ulong?[] { 1, 3, 5 });
            Assert.AreEqual(new ulong[] { 2, 4, 6 }, cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3, 4, 5, 6 }).ToArray());
        }
        public void IsFiltered_for_id_seen_by_NeedsFilterCheck_but_not_marked_by_MarkAsFiltered_returns_false()
        {
            var cache = new FilterCache();

            cache.NeedsFilterCheck(new ulong?[] { 123 });
            Assert.IsFalse(cache.IsFiltered(123));
        }
        public void NeedsFilterCheck_marks_all_canidates_as_not_filtered()
        {
            var cache = new FilterCache();

            cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3 });
            Assert.AreEqual(new[] { "1f", "2f", "3f" }, cache.Select(x => x.Key + (x.Value ? "t" : "f")).ToArray());
        }
        public void MarkAsFiltered_marks_all_provided_ids_as_filtered()
        {
            var cache = new FilterCache();

            cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3, 4, 5, 6 });
            cache.MarkAsFiltered(new ulong[] { 5, 3, 1 });
            Assert.AreEqual(new[] { "1t", "2f", "3t", "4f", "5t", "6f" }, cache.Select(x => x.Key + (x.Value ? "t" : "f")).ToArray());
        }
        public void IsFiltered_for_id_marked_by_MarkAsFiltered_returns_true()
        {
            var cache = new FilterCache();

            cache.NeedsFilterCheck(new ulong?[] { 123 });
            cache.MarkAsFiltered(new ulong[] { 123 });
            Assert.IsTrue(cache.IsFiltered(123));
        }
        public void NeedsFilterCheck_discards_null_ids()
        {
            var cache = new FilterCache();

            Assert.AreEqual(new ulong[] { 1, 2, 3 }, cache.NeedsFilterCheck(new ulong?[] { 1, null, 2, null, 3 }).ToArray());
        }
        public void NeedsFilterCheck_distincts_output()
        {
            var cache = new FilterCache();

            Assert.AreEqual(new ulong[] { 1, 2, 3 }, cache.NeedsFilterCheck(new ulong?[] { 1, 2, 1, 3, 2, 1 }).ToArray());
        }
示例#8
0
 public void IsFiltered_for_id_seen_by_NeedsFilterCheck_but_not_marked_by_MarkAsFiltered_returns_false() {
     var cache = new FilterCache();
     cache.NeedsFilterCheck(new ulong?[] {123});
     Assert.IsFalse(cache.IsFiltered(123));
 }
示例#9
0
 public void IsFiltered_for_id_marked_by_MarkAsFiltered_returns_true() {
     var cache = new FilterCache();
     cache.NeedsFilterCheck(new ulong?[] { 123 });
     cache.MarkAsFiltered(new ulong[]{123});
     Assert.IsTrue(cache.IsFiltered(123));
 }
示例#10
0
 public void MarkAsFiltered_marks_all_provided_ids_as_filtered() {
     var cache = new FilterCache();
     cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3, 4, 5, 6 });
     cache.MarkAsFiltered(new ulong[] { 5, 3, 1 });
     Assert.AreEqual(new[] { "1t", "2f", "3t", "4f", "5t", "6f" }, cache.Select(x => x.Key + (x.Value ? "t" : "f")).ToArray());
 }
示例#11
0
 public void NeedsFilterCheck_discards_null_ids() {
     var cache = new FilterCache();
     Assert.AreEqual(new ulong[] { 1, 2, 3 }, cache.NeedsFilterCheck(new ulong?[] { 1, null, 2, null, 3 }).ToArray());
 }
示例#12
0
 public void NeedsFilterCheck_marks_all_canidates_as_not_filtered() {
     var cache = new FilterCache();
     cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3 });
     Assert.AreEqual(new[] { "1f", "2f", "3f" }, cache.Select(x => x.Key + (x.Value ? "t" : "f")).ToArray());
 }
示例#13
0
 public void NeedsFilterCheck_only_returns_ids_not_already_cached() {
     var cache = new FilterCache();
     cache.NeedsFilterCheck(new ulong?[] { 1, 3, 5 });
     Assert.AreEqual(new ulong[] { 2, 4, 6 }, cache.NeedsFilterCheck(new ulong?[] { 1, 2, 3, 4, 5, 6 }).ToArray());
 }
示例#14
0
 public void NeedsFilterCheck_distincts_output() {
     var cache = new FilterCache();
     Assert.AreEqual(new ulong[] { 1, 2, 3 }, cache.NeedsFilterCheck(new ulong?[] { 1, 2, 1, 3, 2, 1 }).ToArray());
 }