Package edu.brown.designer.generators

Source Code of edu.brown.designer.generators.TestDependencyGraphGenerator

package edu.brown.designer.generators;

import org.voltdb.catalog.*;

import java.util.*;

import edu.brown.BaseTestCase;
import edu.brown.catalog.CatalogKey;
import edu.brown.designer.*;
import edu.brown.utils.ProjectType;
import edu.brown.workload.Workload;

/**
*
* @author pavlo
*
*/
public class TestDependencyGraphGenerator extends BaseTestCase {

    protected DesignerInfo info;
   
    @Override
    protected void setUp() throws Exception {
        super.setUp(ProjectType.TPCC, true);
       
        this.applyParameterMappings(ProjectType.TPCC);
       
        Workload workload = new Workload(catalog);
        info = new DesignerInfo(catalogContext, workload);
    }

    /**
     * testGenerate
     */
    public void testGenerate() throws Exception {
        DependencyGraph dgraph = new DependencyGraph(catalog_db);
        new DependencyGraphGenerator(info).generate(dgraph);
       
        Table item_table = catalog_db.getTables().get("ITEM");
        Table warehouse_table = catalog_db.getTables().get("WAREHOUSE");
        Table district_table = catalog_db.getTables().get("DISTRICT");
       
        //
        // Make sure that ITEM and WAREHOUSE are the roots
        //
        Set<String> expected = new HashSet<String>();
        expected.add(CatalogKey.createKey(item_table));
        expected.add(CatalogKey.createKey(warehouse_table));
       
        for (DesignerVertex v : dgraph.getRoots()) {
            // Skip any internal system tables
            Table catalog_tbl = v.getCatalogItem();
            if (catalog_tbl.getSystable()) continue;
           
            //System.out.println(v.getCatalogItem());
            assertTrue(expected.contains(v.getCatalogKey()));
        } // FOR
        assertEquals(expected.size(), dgraph.getRoots().size());
       
        //
        // Then make sure that DISTRICT is attached to WAREHOUSE
        //
        DesignerVertex warehouse_v = dgraph.getVertex(warehouse_table);
        assertNotNull(warehouse_v);
        DesignerVertex district_v = dgraph.getVertex(district_table);
        assertNotNull(district_v);
       
        assertTrue(dgraph.getSuccessors(warehouse_v).contains(district_v));
    }
   
}
TOP

Related Classes of edu.brown.designer.generators.TestDependencyGraphGenerator

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.