コード例 #1
0
 @Test
 public void topLevelPageFilterIsSupported() {
   FilterAdapterContext context = new FilterAdapterContext(new Scan(), new DefaultReadHooks());
   PageFilter filter = new PageFilter(20);
   FilterSupportStatus status = pageFilterAdapter.isFilterSupported(context, filter);
   Assert.assertTrue("Top-level page filter should be supported", status.isSupported());
 }
コード例 #2
0
 @Test
 public void mustPassAllIsSupportedAtTopLevel() {
   FilterAdapterContext context = new FilterAdapterContext(new Scan(), new DefaultReadHooks());
   PageFilter filter = new PageFilter(20);
   FilterList filterList = new FilterList(Operator.MUST_PASS_ALL, filter);
   try (ContextCloseable ignored = context.beginFilterList(filterList)) {
     FilterSupportStatus status = pageFilterAdapter.isFilterSupported(context, filter);
     Assert.assertTrue(
         "MUST_PASS_ALL should be supported at the top-level.", status.isSupported());
   }
 }
コード例 #3
0
 @Test
 public void mustPassOneIsNotSupported() {
   FilterAdapterContext context = new FilterAdapterContext(new Scan(), new DefaultReadHooks());
   PageFilter filter = new PageFilter(20);
   FilterList filterList = new FilterList(Operator.MUST_PASS_ONE, filter);
   try (ContextCloseable ignroed = context.beginFilterList(filterList)) {
     FilterSupportStatus status = pageFilterAdapter.isFilterSupported(context, filter);
     Assert.assertFalse(
         "MUST_PASS_ONE FilterLists should not be supported.", status.isSupported());
   }
 }
コード例 #4
0
 @Test
 public void mustPassAllIsNotSupportedBelowTopLevel() {
   FilterAdapterContext context = new FilterAdapterContext(new Scan(), new DefaultReadHooks());
   PageFilter pageFilter = new PageFilter(20);
   FilterList secondLevelList = new FilterList(Operator.MUST_PASS_ALL, pageFilter);
   FilterList topLevelList = new FilterList(Operator.MUST_PASS_ALL, secondLevelList);
   try (ContextCloseable ignored = context.beginFilterList(topLevelList)) {
     try (ContextCloseable evenMoreIgnored = context.beginFilterList(secondLevelList)) {
       FilterSupportStatus status = pageFilterAdapter.isFilterSupported(context, pageFilter);
       Assert.assertFalse(
           "MUST_PASS_ALL should not be supported lower than top level.", status.isSupported());
     }
   }
 }
コード例 #5
0
 @Test
 public void pageFilterMustBeInLastPosition() {
   FilterAdapterContext context = new FilterAdapterContext(new Scan(), new DefaultReadHooks());
   ValueFilter valueFilter =
       new ValueFilter(CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("value")));
   PageFilter pageFilter = new PageFilter(20);
   FilterList filterList = new FilterList(Operator.MUST_PASS_ALL, pageFilter, valueFilter);
   try (ContextCloseable ignored = context.beginFilterList(filterList)) {
     FilterSupportStatus status = pageFilterAdapter.isFilterSupported(context, pageFilter);
     Assert.assertFalse(
         "PageFilter must be in the last position of a MUST_PASS_ALL filter list",
         status.isSupported());
   }
 }
コード例 #6
0
  @Test
  public void compositeFilterSupportStatusIsReturnedForUnsupportedChildFilters() {
    FilterListAdapter filterListAdapter =
        new FilterListAdapter(
            new FilterAdapter() {
              @Override
              public void collectUnsupportedStatuses(
                  FilterAdapterContext context, Filter filter, List<FilterSupportStatus> statuses) {
                Assert.assertEquals(
                    "FilterListDepth should be incremented in isFilterSupported.",
                    1,
                    context.getFilterListDepth());
                statuses.add(FilterSupportStatus.newNotSupported("Test"));
              }
            });

    FilterList filterList = makeFilterList(Operator.MUST_PASS_ALL);
    FilterSupportStatus status = filterListAdapter.isFilterSupported(emptyScanContext, filterList);
    Assert.assertFalse(
        "collectUnsupportedStatuses should have been invoked returning unsupported statuses.",
        status.isSupported());
  }