Search in sources :

Example 1 with Count

use of org.teiid.query.function.aggregate.Count in project teiid by teiid.

the class TestDuplicateFilter method helpTestDuplicateFilter.

public void helpTestDuplicateFilter(Object[] input, Class<?> dataType, int expected) throws TeiidComponentException, TeiidProcessingException {
    BufferManager mgr = BufferManagerFactory.getStandaloneBufferManager();
    Count count = new Count();
    count.setArgIndexes(new int[] { 0 });
    // $NON-NLS-1$
    SortingFilter filter = new SortingFilter(count, mgr, "test", true);
    filter.initialize(dataType, new Class[] { dataType });
    // $NON-NLS-1$
    ElementSymbol element = new ElementSymbol("val");
    element.setType(dataType);
    filter.setElements(Arrays.asList(element));
    filter.setArgIndexes(new int[] { 0 });
    filter.reset();
    // Add inputs
    for (int i = 0; i < input.length; i++) {
        filter.addInputDirect(Arrays.asList(input[i]), null);
    }
    Integer actual = (Integer) filter.getResult(null);
    // $NON-NLS-1$
    assertEquals("Did not get expected number of results", expected, actual.intValue());
}
Also used : ElementSymbol(org.teiid.query.sql.symbol.ElementSymbol) Count(org.teiid.query.function.aggregate.Count) BufferManager(org.teiid.common.buffer.BufferManager)

Aggregations

BufferManager (org.teiid.common.buffer.BufferManager)1 Count (org.teiid.query.function.aggregate.Count)1 ElementSymbol (org.teiid.query.sql.symbol.ElementSymbol)1