Package edu.brown.workload.filters

Source Code of edu.brown.workload.filters.TestProcParameterValueFilter

package edu.brown.workload.filters;

import java.util.Iterator;

import org.junit.Test;
import org.voltdb.benchmark.tpcc.procedures.neworder;
import org.voltdb.catalog.CatalogType;
import org.voltdb.catalog.ProcParameter;
import org.voltdb.catalog.Procedure;

import edu.brown.workload.AbstractTraceElement;
import edu.brown.workload.TransactionTrace;

/**
* @author pavlo
*/
public class TestProcParameterValueFilter extends AbstractTestFilter {

    private static final String TARGET_PROCEDURE = neworder.class.getSimpleName();
    private static final int PARAM_IDX = 1; // D_ID
    private static final Object PARAM_VALUE = new Integer(5);
   
    private Procedure catalog_proc;
    private ProcParameter catalog_param;
   
    @Override
    protected void setUp() throws Exception {
        super.setUp();
        this.catalog_proc = this.getProcedure(TARGET_PROCEDURE);
        this.catalog_param = this.getProcParameter(this.catalog_proc, PARAM_IDX);
    }
   
    /**
     * testFilter
     */
    @Test
    public void testFilter() throws Exception {
        Filter filter = new ProcedureNameFilter(false).include(TARGET_PROCEDURE)
            .attach(new ProcParameterValueFilter().include(this.catalog_param, PARAM_VALUE));
       
        Iterator<TransactionTrace> it = workload.iterator(filter);
        assertNotNull(it);

        int count = 0;
        while (it.hasNext()) {
            AbstractTraceElement<? extends CatalogType> element = it.next();
            if (element instanceof TransactionTrace) {
                // Make sure that all of the array parameters have the same size
                TransactionTrace txn = (TransactionTrace)element;
                assertEquals(TARGET_PROCEDURE, txn.getCatalogItemName());
                Object val = txn.getParam(PARAM_IDX);
                assertNotNull(val);
                assertEquals(txn.toString(), PARAM_VALUE, val);
                count++;
            }
        } // WHILE
        assert(count > 0);
    }
}
TOP

Related Classes of edu.brown.workload.filters.TestProcParameterValueFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.