@Test
public void testGetSubResourceForNotPredicate() throws Exception {

  ResourceDefinition resourceDefinition = new HostResourceDefinition();
  Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
  mapIds.put(Resource.Type.Host, null);
  //test
  QueryImpl instance = new QueryImplTest.TestQuery(mapIds, resourceDefinition);
  Predicate notPredicate1 = new PredicateBuilder().not().property("host_components/HostRoles/component_name").
          equals("ZOOKEEPER_SERVER").toPredicate();
  Predicate notPredicate2 = new PredicateBuilder().not().property("host_components/HostRoles/component_name").
          equals("HBASE_MASTER").toPredicate();
  Predicate andPredicate = new AndPredicate(notPredicate1,notPredicate2);
  ProcessingPredicateVisitor visitor = new ProcessingPredicateVisitor(instance);
  PredicateHelper.visit(andPredicate, visitor);
  Set<String> categories = visitor.getSubResourceCategories();
  Assert.assertEquals(categories.iterator().next(), "host_components");
}