### Question:
PageObjectEnricher extends AbstractSearchContextEnricher { @Override public void enrich(final SearchContext searchContext, Object target) { List<Field> fields = new LinkedList<Field>(); fields.addAll(ReflectionHelper.getFieldsWithAnnotation(target.getClass(), Page.class)); for (Field field : fields) { Object page = createPage(searchContext, field.getAnnotations(), target, field, null, null); setValue(field, target, page); } }  @Override void enrich(final SearchContext searchContext, Object target); @Override Object[] resolve(SearchContext searchContext, Method method, Object[] resolvedParams); static P setupPage(GrapheneContext context, SearchContext searchContext, Class<?> pageClass); @Override int getPrecedence();  }### Answer:
@Test public void testNoArgConstructor() { thrown.expect(PageObjectInitializationException.class); getGrapheneEnricher().enrich(new NoArgConstructorTest()); }
@Test public void testAbstractType() { thrown.expect(PageObjectInitializationException.class); getGrapheneEnricher().enrich(new AbstractTypeTest()); }