/** To show that it does not have any type specific code */ private void pickTest(byte t, boolean[] inner) throws ExecException, IOException { Random r = new Random(); switch (t) { case DataType.BAG: runTest(GenRandomData.genRandSmallTupDataBag(r, 10, 100), inner, DataType.BAG); break; case DataType.BOOLEAN: runTest(r.nextBoolean(), inner, DataType.BOOLEAN); break; case DataType.BYTEARRAY: runTest(GenRandomData.genRandDBA(r), inner, DataType.BYTEARRAY); break; case DataType.BIGCHARARRAY: { String s = GenRandomData.genRandString(r); for (; s.length() < 65535; ) { s += GenRandomData.genRandString(r); } runTest(s, inner, DataType.CHARARRAY); break; } case DataType.CHARARRAY: runTest(GenRandomData.genRandString(r), inner, DataType.CHARARRAY); break; case DataType.DOUBLE: runTest(r.nextDouble(), inner, DataType.DOUBLE); break; case DataType.FLOAT: runTest(r.nextFloat(), inner, DataType.FLOAT); break; case DataType.INTEGER: runTest(r.nextInt(), inner, DataType.INTEGER); break; case DataType.LONG: runTest(r.nextLong(), inner, DataType.LONG); break; case DataType.DATETIME: runTest(new DateTime(r.nextLong()), inner, DataType.DATETIME); break; case DataType.MAP: case DataType.INTERNALMAP: case DataType.BYTE: return; // map not key type case DataType.TUPLE: runTest(GenRandomData.genRandSmallBagTuple(r, 10, 100), inner, DataType.TUPLE); break; case DataType.BIGINTEGER: runTest(new BigInteger(256, r), inner, DataType.BIGINTEGER); break; case DataType.BIGDECIMAL: runTest(new BigDecimal(r.nextDouble()), inner, DataType.BIGDECIMAL); break; default: fail("No test case for type " + DataType.findTypeName(t)); } }