Package org.voltdb.planner

Source Code of org.voltdb.planner.TestPlannerContext

package org.voltdb.planner;

import junit.framework.TestCase;

import org.junit.Test;
import org.voltdb.expressions.AbstractExpression;
import org.voltdb.expressions.NullValueExpression;
import org.voltdb.planner.PlanColumn.SortOrder;
import org.voltdb.planner.PlanColumn.Storage;

import edu.brown.expressions.ExpressionUtil;

/**
* @author pavlo
*/
public class TestPlannerContext extends TestCase {

    private final PlannerContext context = PlannerContext.singleton();
   
    @Test
    public void testDuplicateColumns() {
        AbstractExpression expression = new NullValueExpression();
        String columnName = "TABLEA.A_ID";
        SortOrder sortOrder = SortOrder.kUnsorted;
        Storage storage = Storage.kTemporary;
       
        PlanColumn col0 = context.getPlanColumn(expression, columnName, sortOrder, storage);
        assertNotNull(col0);
//        System.err.println(col0 + " ==> " + col0.hashCode());
       
        PlanColumn col1 = context.getPlanColumn(expression, columnName, sortOrder, storage);
        assertNotNull(col1);
//        System.err.println(col1 + " ==> " + col1.hashCode());
        assertEquals(col0.hashCode(), col1.hashCode());
        assertEquals(col0.getDisplayName(), col1.getDisplayName());
        assertEquals(col0.getSortOrder(), col1.getSortOrder());
        assertEquals(col0.getStorage(), col1.getStorage());
        assert(ExpressionUtil.equals(col0.getExpression(), col1.getExpression()));
        assertEquals(col0, col1);
       
        expression.setLeft(new NullValueExpression());
        PlanColumn col2 = context.getPlanColumn(expression, columnName, sortOrder, storage);
        assertNotNull(col2);
//        System.err.println(col2 + " ==> " + col2.hashCode());
        assertNotSame(col0.hashCode(), col2.hashCode());
        assertEquals(col0.getDisplayName(), col2.getDisplayName());
        assertEquals(col0.getSortOrder(), col2.getSortOrder());
        assertEquals(col0.getStorage(), col2.getStorage());
        assert(ExpressionUtil.equals(col0.getExpression(), col2.getExpression()));
        assertFalse(col0.equals(col2));
       
    }
   
}
TOP

Related Classes of org.voltdb.planner.TestPlannerContext

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.