@Test public void testMissingColumnSpecifiedInDimensionList() { assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue(""), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue("a"), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue("b"), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue("c"), null), ImmutableList.of()); }
@Test public void testGetCacheKey() SearchQueryDimFilter searchQueryDimFilter = new SearchQueryDimFilter( "dim", new SearchQuerySpec() ); SearchQueryDimFilter searchQueryDimFilter2 = new SearchQueryDimFilter( "di", new SearchQuerySpec() null ); Assert.assertFalse(Arrays.equals(searchQueryDimFilter.getCacheKey(), searchQueryDimFilter2.getCacheKey())); SearchQueryDimFilter searchQueryDimFilter3 = new SearchQueryDimFilter( "dim", new SearchQuerySpec() regexFn ); Assert.assertFalse(Arrays.equals(searchQueryDimFilter.getCacheKey(), searchQueryDimFilter3.getCacheKey()));
@Test public void testHashcode() SearchQueryDimFilter searchQueryDimFilter = new SearchQueryDimFilter( "dim", new SearchQuerySpec() ); SearchQueryDimFilter searchQueryDimFilter2 = new SearchQueryDimFilter( "di", new SearchQuerySpec() null ); Assert.assertNotEquals(searchQueryDimFilter.hashCode(), searchQueryDimFilter2.hashCode()); SearchQueryDimFilter searchQueryDimFilter3 = new SearchQueryDimFilter( "dim", new SearchQuerySpec() regexFn ); Assert.assertNotEquals(searchQueryDimFilter.hashCode(), searchQueryDimFilter3.hashCode());
@Test public void testMissingColumnNotSpecifiedInDimensionList() { assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue(""), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue("a"), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue("b"), null), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue("c"), null), ImmutableList.of()); }
@Test public void testSingleValueStringColumnWithoutNulls() { assertFilterMatches(new SearchQueryDimFilter("dim0", specForValue(""), null), ImmutableList.of("0", "1", "2", "3", "4", "5")); assertFilterMatches(new SearchQueryDimFilter("dim0", specForValue("0"), null), ImmutableList.of("0")); assertFilterMatches(new SearchQueryDimFilter("dim0", specForValue("5"), null), ImmutableList.of("5")); }
@Test public void testMultiValueStringColumn() { if (NullHandling.replaceWithDefault()) { assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue(""), null), ImmutableList.of("0", "3", "4")); } else { assertFilterMatches( new SearchQueryDimFilter("dim2", specForValue(""), null), ImmutableList.of("0", "2", "3", "4") ); } assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue("a"), null), ImmutableList.of("0", "3")); assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue("b"), null), ImmutableList.of("0")); assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue("c"), null), ImmutableList.of("4")); assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue("d"), null), ImmutableList.of()); }
@Test public void testSingleValueStringColumnWithNulls() { if (NullHandling.replaceWithDefault()) { // SearchQueryFilter always returns false for null row values. assertFilterMatches( new SearchQueryDimFilter("dim1", specForValue(""), null), ImmutableList.of("1", "2", "3", "4", "5") ); } else { assertFilterMatches( new SearchQueryDimFilter("dim1", specForValue(""), null), ImmutableList.of("0", "1", "2", "3", "4", "5") ); } assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("10"), null), ImmutableList.of("1")); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("2"), null), ImmutableList.of("2")); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("1"), null), ImmutableList.of("1", "3")); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("def"), null), ImmutableList.of("4")); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("abc"), null), ImmutableList.of("5")); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("ab"), null), ImmutableList.of("4", "5")); }
@Test public void testEquals() SearchQueryDimFilter searchQueryDimFilter = new SearchQueryDimFilter( "dim", new SearchQuerySpec() ); SearchQueryDimFilter searchQueryDimFilter2 = new SearchQueryDimFilter( "di", new SearchQuerySpec() SearchQueryDimFilter searchQueryDimFilter3 = new SearchQueryDimFilter( "dim", new SearchQuerySpec()
new SearchQueryDimFilter("dim1", specForValue("ANYMORE"), changeNullFn), ImmutableList.of("0") ); assertFilterMatches( new SearchQueryDimFilter("dim2", specForValue("ANYMORE"), changeNullFn), ImmutableList.of("1", "2", "5") ); new SearchQueryDimFilter("dim1", specForValue("ANYMORE"), changeNullFn), ImmutableList.of() ); assertFilterMatches( new SearchQueryDimFilter("dim2", specForValue("ANYMORE"), changeNullFn), ImmutableList.of("1", "5") ); new SearchQueryDimFilter("dim1", specForValue("ab"), changeNullFn), ImmutableList.of("4", "5") ); assertFilterMatches(new SearchQueryDimFilter("dim1", specForValue("ab"), changeNullFn), ImmutableList.of("4", "5")); assertFilterMatches(new SearchQueryDimFilter("dim2", specForValue("a"), changeNullFn), ImmutableList.of("0", "3")); assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue("ANYMORE"), changeNullFn), ImmutableList.of("0", "1", "2", "3", "4", "5")); assertFilterMatches(new SearchQueryDimFilter("dim3", specForValue("a"), changeNullFn), ImmutableList.of()); assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue("ANYMORE"), changeNullFn), ImmutableList.of("0", "1", "2", "3", "4", "5")); assertFilterMatches(new SearchQueryDimFilter("dim4", specForValue("a"), changeNullFn), ImmutableList.of());
new JavaScriptDimFilter("dimSequential", "function(x) { return false }", null, JavaScriptConfig.getEnabledInstance()), new RegexDimFilter("dimSequential", "X", null), new SearchQueryDimFilter("dimSequential", new ContainsSearchQuerySpec("X", false), null), new InDimFilter("dimSequential", Collections.singletonList("X"), null)
new SearchQueryDimFilter(columnName, new ContainsSearchQuerySpec("s", true), exfn), ImmutableList.of("2", "3", "4") );
new SearchQueryDimFilter(LONG_COLUMN, new ContainsSearchQuerySpec("s", true), exfn), ImmutableList.of("2", "3", "4") );
new SearchQueryDimFilter(ColumnHolder.TIME_COLUMN_NAME, new ContainsSearchQuerySpec("s", true), exfn), ImmutableList.of("1", "2", "3") );
), new RegexDimFilter("dimSequential", "X", null), new SearchQueryDimFilter("dimSequential", new ContainsSearchQuerySpec("X", false), null), new InDimFilter("dimSequential", Collections.singletonList("X"), null)
new SearchQueryDimFilter(ColumnHolder.TIME_COLUMN_NAME, new ContainsSearchQuerySpec("2", true), null), ImmutableList.of("2") );
new SearchQueryDimFilter(columnName, new ContainsSearchQuerySpec("2", true), null), ImmutableList.of("2") ); new SearchQueryDimFilter(columnName, new ContainsSearchQuerySpec("2", true), null), ImmutableList.of("2") );
superFilterList.add(new RegexDimFilter("null_column", "EMPTY", extractionFn)); superFilterList.add( new SearchQueryDimFilter("null_column", new ContainsSearchQuerySpec("EMPTY", true), extractionFn) ); superFilterList.add(new JavaScriptDimFilter(
new SearchQueryDimFilter(LONG_COLUMN, new ContainsSearchQuerySpec("2", true), null), ImmutableList.of("2", "9") );
)); superFilterList.add(new RegexDimFilter("quality", "super-mezzanine", extractionFn)); superFilterList.add(new SearchQueryDimFilter( "quality", new ContainsSearchQuerySpec("super-mezzanine", true),
new SearchQueryDimFilter("dim", new ContainsSearchQuerySpec("a", true), null) ); selector = new TestFloatColumnSelector(values);