package edu.brown; import org.junit.Test; import org.voltdb.CatalogContext; import org.voltdb.benchmark.tpcc.procedures.neworder; import org.voltdb.catalog.Procedure; import org.voltdb.sysprocs.Statistics; import edu.brown.utils.ProjectType; import junit.framework.TestCase; public class TestBaseTestCase extends TestCase { private BaseTestCase bt; private final ProjectType types[] = { ProjectType.TPCC, ProjectType.TM1, ProjectType.SEATS }; @Override protected void setUp() throws Exception { super.setUp(); this.bt = new BaseTestCase() { // Nothing... }; } /** * testGetProcedure */ @Test public void testGetProcedure() throws Exception { ProjectType type = ProjectType.TPCC; this.bt.setUp(type); CatalogContext catalogContext = this.bt.getCatalogContext(); assertNotNull(type.toString(), catalogContext); Procedure proc0, proc1; // Regular Procedure proc0 = this.bt.getProcedure(catalogContext.database, neworder.class); assertNotNull(proc0); assertTrue(proc0.getName(), proc0.getName().endsWith(neworder.class.getSimpleName())); assertFalse(proc0.getName(), proc0.getSystemproc()); proc1 = this.bt.getProcedure(proc0.getName()); assertNotNull(proc1); assertEquals(proc0, proc1); // System Procedure proc0 = this.bt.getProcedure(catalogContext.database, Statistics.class); assertNotNull(proc0); assertTrue(proc0.getName(), proc0.getName().endsWith(Statistics.class.getSimpleName())); assertTrue(proc0.getName(), proc0.getSystemproc()); proc1 = this.bt.getProcedure(proc0.getName()); assertNotNull(proc1); assertEquals(proc0, proc1); } /** * testParameterMappings */ @Test public void testParameterMappings() throws Exception { // Check to make sure that we can get the ParameterMappingsSet // from the CatalogContexts for the different projects for (ProjectType type : types) { this.bt.setUp(type); CatalogContext catalogContext = this.bt.getCatalogContext(); assertNotNull(type.toString(), catalogContext); assertEquals(type.name().toLowerCase(), catalogContext.database.getProject()); assertNotNull(type.toString(), catalogContext.paramMappings); } // FOR } }