public Builder execute(final Predicate function) { current.setPredicate(function); filter.getComponents().add(current); return new Builder(filter); } }
@Test public void shouldAddGlobalPreAggFiltersToGroup() { // Given final ElementFilter filter = new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build(); final View view = new View.Builder() .globalEntities(new GlobalViewElementDefinition.Builder() .groups(TestGroups.ENTITY) .preAggregationFilter(filter) .build()) .entity(TestGroups.ENTITY) .build(); // When view.expandGlobalDefinitions(); // Then assertTrue(view.hasPreAggregationFilters()); assertEquals(Exists.class.getSimpleName(), view.getEntity(TestGroups.ENTITY).getPreAggregationFilter() .getComponents().get(0).getPredicate() .getClass().getSimpleName()); }
@Test public void shouldReturnTrueWhenViewHasPostAggEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPreAggEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostTransformEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostAggEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPreAggEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostTransformEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostTransformEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPreAggEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostAggEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostAggEdgeFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY) .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPostTransformEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertTrue(result); }
@Test public void shouldReturnTrueWhenViewHasPreAggEntityFilters() { // Given final View view = new View.Builder() .entity(TestGroups.ENTITY, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new Exists()) .build()) .build()) .edge(TestGroups.EDGE) .edge(TestGroups.EDGE_2, null) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertTrue(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPostTransformEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertFalse(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPostAggEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertFalse(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPreAggEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertFalse(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPostTransformEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postTransformFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPostTransformFilters(); // Then assertFalse(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPreAggEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPreAggregationFilters(); // Then assertFalse(result); }
@Test public void shouldReturnFalseWhenViewHasEmptyPostAggEdgeFilters() { // Given final View view = new View.Builder() .edge(TestGroups.EDGE, new ViewElementDefinition.Builder() .postAggregationFilter(new ElementFilter.Builder() .build()) .build()) .build(); // When final boolean result = view.hasPostAggregationFilters(); // Then assertFalse(result); }