package edu.washington.escience.myria.util; import java.util.List; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import edu.washington.escience.myria.Schema; import edu.washington.escience.myria.Type; import edu.washington.escience.myria.storage.TupleBatch; import edu.washington.escience.myria.storage.TupleBatchBuffer; public final class JoinTestUtils { public static Schema leftSchema = Schema.ofFields( "left1", Type.LONG_TYPE, "left2", Type.BOOLEAN_TYPE, "left3", Type.STRING_TYPE); public static Schema rightSchema = Schema.ofFields( "right1", Type.STRING_TYPE, "right2", Type.LONG_TYPE, "right3", Type.BOOLEAN_TYPE); public static ImmutableList<TupleBatch> leftInput = ImmutableList.copyOf(getLeftInput()); public static ImmutableList<TupleBatch> rightInput = ImmutableList.copyOf(getRightInput()); /** Utility class can't be constructed. */ private JoinTestUtils() {} private static List<TupleBatch> getLeftInput() { TupleBatchBuffer tbb = new TupleBatchBuffer(leftSchema); List<TupleBatch> ret = Lists.newLinkedList(); tbb.putLong(0, 10L); tbb.putBoolean(1, true); tbb.putString(2, "value1"); tbb.putLong(0, 15L); tbb.putBoolean(1, false); tbb.putString(2, "value2"); tbb.putLong(0, 11L); tbb.putBoolean(1, false); tbb.putString(2, "value"); ret.add(tbb.popAny()); tbb.putLong(0, -11L); tbb.putBoolean(1, false); tbb.putString(2, "value3"); tbb.putLong(0, -11L); tbb.putBoolean(1, false); tbb.putString(2, "value3"); ret.add(tbb.popAny()); return ret; } private static List<TupleBatch> getRightInput() { TupleBatchBuffer tbb = new TupleBatchBuffer(rightSchema); List<TupleBatch> ret = Lists.newLinkedList(); tbb.putString(0, "value"); tbb.putLong(1, 11L); tbb.putBoolean(2, false); ret.add(tbb.popAny()); tbb.putString(0, "value2"); tbb.putLong(1, 15L); tbb.putBoolean(2, false); ret.add(tbb.popAny()); tbb.putString(0, "value3"); tbb.putLong(1, -14L); tbb.putBoolean(2, false); tbb.putString(0, "value1"); tbb.putLong(1, 10L); tbb.putBoolean(2, true); tbb.putString(0, "value3"); tbb.putLong(1, -11L); tbb.putBoolean(2, false); tbb.putString(0, "value3"); tbb.putLong(1, -11L); tbb.putBoolean(2, false); ret.add(tbb.popAny()); return ret; } }